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

यदि सरणी में कोई मान है तो नेवला दस्तावेज़ ढूंढ़ता है

इसे हासिल करने के कुछ तरीके हैं। पहला तरीका है $elemMatch ऑपरेटर:

const docs = await Documents.find({category: { $elemMatch: {$eq: 'yourCategory'} }});
// you may need to convert 'yourCategory' to ObjectId

दूसरा है $in . द्वारा या $all ऑपरेटर:

const docs = await Documents.find({category: { $in: [yourCategory] }});

या

const docs = await Documents.find({category: { $all: [yourCategory] }});
// you can give more categories with these two approaches 
//and again you may need to convert yourCategory to ObjectId

$in OR और $all . जैसा है और की तरह। अधिक जानकारी के लिए इस लिंक को देखें:https://docs.mongodb.com /मैनुअल/संदर्भ/ऑपरेटर/क्वेरी/सभी/

तीसरा है aggregate() . द्वारा समारोह:

const docs = await Documents.aggregate([
    { $unwind: '$category' },
    { $match: { 'category': mongoose.Types.ObjectId(yourCategory) } }
]};

कुल () के साथ आपको अपनी श्रेणी सरणी में केवल एक श्रेणी आईडी मिलती है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB बराबर नहीं है

  2. MongoDB के लिए PHP में आईएसओ दिनांक प्रारूप कैसे वापस करें?

  3. किसी अन्य स्कीमा फ़ाइल में नेवला स्कीमा आयात करें आयातित स्कीमा को अपरिभाषित बनाता है

  4. क्या मोंगो-कनेक्टर इलास्टिक्स खोज में डालने से पहले फ़ील्ड जोड़ने का समर्थन करता है?

  5. वस्तुओं की एक सरणी से एक विशिष्ट नेस्टेड वस्तु निकालें