Chúng tôi có một mô hình nhập cảnh với mục nhúng:Mongoid 2.4 Truy vấn Đối với tài liệu Embedded By Id Không
class Entry
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Spacial::Document
embeds_many :items, cascade_callbacks: true
...
class Item
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::Spacial::Document
embedded_in :entry
...
Nếu tôi truy vấn Mongo trực tiếp cho mục nhập bằng id mục:
{"items._id" : ObjectId("50536b18baa072000f000360")}
Nó trả về Entry:
505363b36181ce00020006b1 { "created_at": "2012-09-14T17: 04: 51Z", "mặt hàng": [{ "_ id": "50536b1a2b17b3 .. .
Tuy nhiên, khi tôi truy vấn qua Mongoid:
irb(main):002:0> Entry.where('items._id' => '50536b18baa072000f000360')[0]
=> nil
Mọi thắc mắc khác làm việc (đối với các lĩnh vực khác vào các mặt hàng và cho các lĩnh vực nhập cảnh). Nhưng không phải cho id.
Chúng tôi đang chạy mongoid (2.4.12).
Hoặc trong trường hợp của tôi, 'Moped :: BSON :: ObjectId ('50536b18baa072000f000360')', để chữa bệnh 'phương pháp xác định \ '__bson_dump__' cho BSON :: ObjectId'. Whew! –
Sử dụng Xe máy :: BSON :: ObjectId trong Mongoid 3 – Obie
Điều này sẽ không hoạt động đối với Mongoid 4.0.0.beta1 –