sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Encontrar documentos que incluyan elementos en el campo Array con mongomapper?

En las versiones actuales de MongoMapper, esto funcionará:

MessageThread.where(:partecipant_ids => 15)

Y esto debería funcionar también...

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

...porque valiente autoexpande eso a:

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

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

Diría que eche un vistazo a sus datos y pruebe las consultas en la consola de Mongo para asegurarse de que tiene una consulta que funcione. Las consultas MongoDB se traducen directamente a consultas MM excepto por las advertencias anteriores (y algunas otras menores). Consulte http://www.mongodb.org/display/DOCS/Querying