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

MongoDB में विशिष्ट नेस्टेड डॉक्यूमेंट्स के लिए ऑब्जेक्ट्स की सरणी पर क्वेरी कैसे करें?


ऑब्जेक्ट्स की सरणी के लिए नेस्टेड डॉक्यूमेंट्स पर क्वेरी करने के लिए find() का उपयोग करें। आइए एक कलेक्शन बनाते हैं:

> db.demo763.insertOne( { _id:1, CountryName:"US", "studentInformation": [ { StudentName:"Chris" }, { StudentName:"David", StudentAge:22 } ] } ); { "acknowledged" : true, "insertedId" : 1 }

find() से सभी डॉक्यूमेंट्स देखें:

> db.demo763.find();

आउटपुट:

विशिष्ट नेस्टेड डॉक्यूमेंट्स प्राप्त करने के लिए ऑब्जेक्ट्स की सरणी पर क्वेरी कैसे करें (StudentAge मौजूद हो):

> db.demo763.find({}, { studentInformation: { $elemMatch: { StudentAge: { $exists: true } } } })

परिणाम:


  1. - MongoDB में Array Elements के साथ Specific Document Fetch करना

    MongoDB में किसी specific document को fetch करने के लिए find() मेथड में dot notation का उपयोग करें। आइए documents के साथ एक collection बनाते हैं: > db.demo672.insertOne({Brand:[{CategoryName:Mobile,Name:Oppo}]}); { acknowledged : true, insertedId : ObjectId(5ea3ea9b04263e90dac943e5) } > db.dem

  1. - MongoDB: ऐरे वैल्यूज के आधार पर दस्तावेजों को मैच करें जो विशिष्ट मान से अधिक हों

    आप $elemMatch का उपयोग कर सकते हैं। $elemMatch ऑपरेटर उन दस्तावेजों से मेल खाता है जिनमें एक ऐरे फील्ड होता है जिसमें कम से कम एक एलिमेंट होता है जो सभी निर्दिष्ट क्वेरी मानदंडों से मेल खाता है। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo701.insertOne({ListOfValues:[100,200,300]}); { a

  1. - MongoDB में नेस्टेड ऐरे के लिए फ़िल्टरिंग कंडीशन सेट करना

    नेस्टेड ऐरे को फ़िल्टर करने के लिए $filter, $cond, $map और $anyElementTrue का संयोजन उपयोग करें। डेमो डेटा db.demo725.insertOne({ details: { userMessages: [ { Messages: [ { Message: Hello }, { Message: How }, { Message: are } ] }, { Messages: [ { Message: Good },