आपको अपनी इनपुट सरणी से "स्थान" फ़ील्ड निकालने और उन्हें $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 } })
लेकिन यह मेल नहीं खाता।