MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Trova documenti che includono elementi nel campo Array con mongomapper?

Nelle versioni correnti di MongoMapper, questo funzionerà:

MessageThread.where(:partecipant_ids => 15)

E anche questo dovrebbe funzionare...

MessageThread.where(:partecipant_ids => [15])

...perché coraggioso lo espande automaticamente in:

MessageThread.where(:partecipant_ids => { :$in => [15] })

(vedi https://github.com/jnunemaker /plucky/blob/master/lib/plucky/criteria_hash.rb#L121 )

Direi di dare un'occhiata ai tuoi dati e provare le query nella console Mongo per assicurarti di avere una query funzionante. Le query MongoDB si traducono direttamente in query MM ad eccezione delle avvertenze precedenti (e alcune altre minori). Vedi http://www.mongodb.org/display/DOCS/Querying