Du skal udtrække "placerings"-felterne fra dit input-array og sende dem til $in
:
var locs = arr.map(function(x) { return x.location } );
db.collection.find({ "fieldx": { "$in": locs } })
Til reference her vil jeg omskrive dit spørgsmål til dig:
Jeg har en samling, der indeholder dokumenter som dette:
{ "fieldx": "NY" }
{ "fieldx": "LA" }
{ "fieldx": "SF" }
Det, jeg har, er et input-array, der er defineret sådan her:
var arr = [
{ "name": "foo", "location": "NY"},
{ "name": "bar", "location": "LA"},
{ "name": "foobar", "location": "NZ"}
];
Nu vil jeg skrive en forespørgsel for at finde alle de dokumenter, der matcher "placering"-feltet i det array, jeg har til input.
Hvordan gør jeg det?
Jeg har prøvet:
db.collection.find({ "fieldx": { "$in": arr } })
Men det passer ikke.