Du måste extrahera "plats"-fälten från din inmatningsmatris och mata dem till $in
:
var locs = arr.map(function(x) { return x.location } );
db.collection.find({ "fieldx": { "$in": locs } })
Som referens här kommer jag att skriva om din fråga åt dig:
Jag har en samling som innehåller dokument som detta:
{ "fieldx": "NY" }
{ "fieldx": "LA" }
{ "fieldx": "SF" }
Det jag har är en inmatningsmatris som är definierad så här:
var arr = [
{ "name": "foo", "location": "NY"},
{ "name": "bar", "location": "LA"},
{ "name": "foobar", "location": "NZ"}
];
Nu vill jag skriva en fråga för att hitta alla dokument som matchar "plats"-fältet i arrayen jag har för inmatning.
Hur gör jag det?
Jag har försökt:
db.collection.find({ "fieldx": { "$in": arr } })
Men det stämmer inte.