Anda perlu mengekstrak bidang "lokasi" dari larik input Anda dan memasukkannya ke $in
:
var locs = arr.map(function(x) { return x.location } );
db.collection.find({ "fieldx": { "$in": locs } })
Untuk referensi di sini saya akan menulis ulang pertanyaan Anda untuk Anda:
Saya memiliki koleksi yang berisi dokumen seperti ini:
{ "fieldx": "NY" }
{ "fieldx": "LA" }
{ "fieldx": "SF" }
Apa yang saya miliki adalah array input yang didefinisikan seperti ini:
var arr = [
{ "name": "foo", "location": "NY"},
{ "name": "bar", "location": "LA"},
{ "name": "foobar", "location": "NZ"}
];
Sekarang saya ingin menulis kueri untuk menemukan semua dokumen yang cocok dengan bidang "lokasi" dalam larik yang saya miliki untuk input.
Bagaimana saya melakukannya?
Saya sudah mencoba:
db.collection.find({ "fieldx": { "$in": arr } })
Tapi itu tidak cocok.