MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongodb $in सरणी की वस्तुओं के बजाय सरणी की वस्तुओं के क्षेत्र के विरुद्ध

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

लेकिन यह मेल नहीं खाता।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में एक सरणी पढ़ना?

  2. बहुभुज GeoJSON ऑब्जेक्ट्स के निर्देशांक सरणी की एक सरणी में क्यों संग्रहीत किए जाते हैं?

  3. क्या क्षेत्र स्तर की विशिष्टता की कमी अभी भी मोंगो (ओएस) में समर्थित है?

  4. मोंगोडब क्वेरी के अंदर कई प्रश्न

  5. नेवला नेस्टेड स्कीमा बनाम नेस्टेड मॉडल