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

MongoDB $elemMatch $in

Puoi utilizzare una sintassi diversa da quella che stai provando che ottiene lo stesso risultato ma non incontra la limitazione in SERVER-3544.

Usa questa sintassi:

db.collection.find({ "unusual": {"$elemMatch":{"defindex":363,"_particleEffect":{"$in":[6,19]}  }} })

Questo corrisponderà a qualsiasi documento che abbia un elemento array con 313 e 6 o 19.

Funziona anche con {$in:[]} sia per defindex che per _particleEffect, purché tu intenda far corrispondere una qualsiasi combinazione delle due liste.

db.collection.find({ "unusual": {"$elemMatch":{"defindex":{"$in":[313,363]},"_particleEffect":{"$in":[6,19]}  }} })