sql >> Databáze >  >> NoSQL >> MongoDB

Najít dokumenty obsahující prvek v poli Array pomocí mongomapperu?

V aktuálních verzích MongoMapper to bude fungovat:

MessageThread.where(:partecipant_ids => 15)

A toto by mělo fungovat také...

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

...protože plucky to automaticky rozbalí na:

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

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

Řekl bych, že se podívejte na svá data a vyzkoušejte dotazy v konzole Mongo, abyste se ujistili, že máte funkční dotaz. Dotazy MongoDB se překládají přímo na dotazy MM s výjimkou výše uvedených (a několika dalších drobných) upozornění. Viz http://www.mongodb.org/display/DOCS/Querying




  1. Spouštění více dotazů v mongo`

  2. Vyberte data, kde rozsah mezi dvěma různými poli obsahuje dané číslo

  3. Mangusta, vytáhněte z vedlejšího dokumentu

  4. Jak funguje zpětné volání Mongoose?