MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB $elemMatch $in

Sie können eine andere Syntax als die, die Sie ausprobieren, verwenden, die das gleiche Ergebnis erzielt, aber nicht auf die Einschränkung in SERVER-3544 stößt.

Verwenden Sie diese Syntax:

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

Dies stimmt mit jedem Dokument überein, das ein Array-Element mit sowohl 313 als auch entweder 6 oder 19 hat.

Es funktioniert auch mit {$in:[]} sowohl für defindex als auch für _particleEffect, solange Sie beabsichtigen, eine beliebige Kombination der beiden Listen abzugleichen.

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