Трябва да извлечете полетата „локация“ от вашия входен масив и да ги подадете към $in
:
var locs = arr.map(function(x) { return x.location } );
db.collection.find({ "fieldx": { "$in": locs } })
За справка тук ще пренапиша въпроса ви за вас:
Имам колекция, която съдържа документи като този:
{ "fieldx": "NY" }
{ "fieldx": "LA" }
{ "fieldx": "SF" }
Това, което имам, е входен масив, който е дефиниран така:
var arr = [
{ "name": "foo", "location": "NY"},
{ "name": "bar", "location": "LA"},
{ "name": "foobar", "location": "NZ"}
];
Сега искам да напиша заявка, за да намеря всички документи, които съответстват на полето „Местоположение“ в масива, който имам за въвеждане.
Как да направя това?
Опитах:
db.collection.find({ "fieldx": { "$in": arr } })
Но това не съвпада.