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

MongoDB $elemMatch $in

Vous pouvez utiliser une syntaxe différente de celle que vous essayez qui donne le même résultat mais ne se heurte pas à la limitation dans SERVER-3544.

Utilisez cette syntaxe :

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

Cela correspondra à tout document qui a un élément de tableau avec à la fois 313 et 6 ou 19.

Cela fonctionne également avec {$in:[]} pour defindex et _particleEffect, tant que vous avez l'intention de faire correspondre n'importe quelle combinaison des deux listes.

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