Você precisa extrair os campos "location" de sua matriz de entrada e alimentá-los para
$in
:var locs = arr.map(function(x) { return x.location } );
db.collection.find({ "fieldx": { "$in": locs } })
Para referência aqui, vou reescrever sua pergunta para você:
Eu tenho uma coleção que contém documentos como este:
{ "fieldx": "NY" }
{ "fieldx": "LA" }
{ "fieldx": "SF" }
O que eu tenho é um array de entrada que é definido assim:
var arr = [
{ "name": "foo", "location": "NY"},
{ "name": "bar", "location": "LA"},
{ "name": "foobar", "location": "NZ"}
];
Agora eu quero escrever uma consulta para encontrar todos os documentos que correspondem ao campo "localização" na matriz que tenho para entrada.
Como eu faço isso?
Eu tentei:
db.collection.find({ "fieldx": { "$in": arr } })
Mas isso não combina.