MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Trouver des documents comprenant un élément dans le champ Array avec mongomapper ?

Dans les versions actuelles de MongoMapper, cela fonctionnera :

MessageThread.where(:partecipant_ids => 15)

Et cela devrait fonctionner aussi...

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

... parce que courageux l'étend automatiquement à :

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

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

Je dirais de jeter un œil à vos données et d'essayer des requêtes dans la console Mongo pour vous assurer que vous avez une requête qui fonctionne. Les requêtes MongoDB se traduisent directement en requêtes MM, à l'exception des mises en garde ci-dessus (et de quelques autres mineures). Voir http://www.mongodb.org/display/DOCS/Querying