Abbiamo un modello di entrata con un elemento incorporato:Mongoid 2.4 query per documento incorporato per ID mancanza
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
...
Se interrogo mongo direttamente una voce per voce ID:
{"items._id" : ObjectId("50536b18baa072000f000360")}
Riporta Entry:
505363b36181ce00020006b1 { "created_at": "2012-09-14T17: 04: 51Z", "voci": [{ "_ id": "50536b1a2b17b3 .. .
Eppure, quando interrogo via Mongoid:
irb(main):002:0> Entry.where('items._id' => '50536b18baa072000f000360')[0]
=> nil
Tutte le altre richieste di lavoro (per gli altri campi di oggetti e per i campi in ingresso). Ma non per l'id.
Stiamo eseguendo mongolo (2.4.12).
o nel mio caso, 'ciclomotore :: :: BSON ObjectId ('50536b18baa072000f000360')', al fine di curare 'metodo non definito \' __bson_dump__' per BSON :: ObjectId'. Meno male! –
Usa ciclomotore :: BSON :: ObjectId in Mongolo 3 – Obie
Questo non funzionerà con Mongoid 4.0.0.beta1 –