Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में ऐरे फील्ड को प्रदान किए गए ऐरे के किसी भी कॉम्बिनेशन से मैच कैसे करें

MongoDB में ऐरे फील्ड को मैच करने के लिए जहां वह प्रदान किए गए ऐरे के किसी भी कॉम्बिनेशन को कंटेन करता हो, $nin के साथ $elemMatch और $not का उपयोग करें।

उदाहरण से समझें

एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं:

> db.combinationOfArrayDemo.insertOne({"StudentName": "Larry", "StudentAge": 21, "StudentFavouriteTechnicalSubject": ["C", "Java"]});
> db.combinationOfArrayDemo.insertOne({"StudentName": "Mike", "StudentAge": 23, "StudentFavouriteTechnicalSubject": ["C++", "Java"]});
> db.combinationOfArrayDemo.insertOne({"StudentName": "David", "StudentAge": 22, "StudentFavouriteTechnicalSubject": ["Java"]});

सभी डॉक्यूमेंट देखने के लिए:

> db.combinationOfArrayDemo.find().pretty();

आउटपुट:

अब ऐसे डॉक्यूमेंट खोजें जिनका ऐरे **केवल** ["C++", "Java"] के एलिमेंट से बना हो (यानी कोई एलिमेंट इस सेट के बाहर न हो):

> db.combinationOfArrayDemo.find({StudentFavouriteTechnicalSubject: {$not: {$elemMatch: {$nin: ['C++', 'Java']}}}}).pretty();

आउटपुट:

लैरी का ऐरे ["C", "Java"] है - "C" दिए गए सेट ["C++", "Java"] में नहीं है, इसलिए एक्सक्लूड हुआ।

लॉजिक: $nin से ऐरे के बाहर के एलिमेंट ढूंढें, $elemMatch से ऐरे में ऐसे एलिमेंट की उपस्थिति चेक करें, $not से नेगेट करें = ऐरे के सभी एलिमेंट दिए गए सेट के अंदर हैं।

  1. - MongoDB में ऑब्जेक्ट के फील्ड ऐरे मानों को क्वेरी करना

    MongoDB में ऑब्जेक्ट के फील्ड ऐरे मानों को क्वेरी करना arrayFieldName के साथ मान का उपयोग करके ऑब्जेक्ट के फील्ड ऐरे मान को क्वेरी करें। कलेक्शन बनाना > db.demo295.insertOne({status:[Active,Inactive]}); { acknowledged: true, insertedId: ObjectId(5e4d4ea65d93261e4bc9ea39) } > db.demo295.insert

  1. - MongoDB में पॉपुलेटेड फ़ील्ड में सरणी स्लाइस करें?

    सरणी स्लाइस करने के लिए, MongoDB में $slice ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo503.insertOne({_id:1,Name:John,Subject:[MySQL,Java,C]}); { acknowledged : true, insertedId : 1 } > db.demo503.insertOne({_id:2,Name:David,Subject:[MongoDB,C++,Python]}); { acknowl

  1. - MongoDB क्वेरी: ऐरे फील्ड वाले दस्तावेजों को मैच करें

    ऐरे फील्ड वाले दस्तावेजों को मैच करने के लिए, $elemMatch ऑपरेटर का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo592.insertOne({ id:101, details: [ { Name: Chris, Value: 200 }, { Name: David, Value: 800 } ] }); { acknowledged : true, insertedId : Ob