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

MongoDB में नेस्टेड मान खोजने के लिए कलेक्शन खोजें

MongoDB में डॉट नोटेशन का उपयोग करके नेस्टेड फ़ील्ड क्वेरी करना

MongoDB में नेस्टेड ऑब्जेक्ट के फ़ील्ड को क्वेरी करने के लिए डॉट नोटेशन (parent.child) का उपयोग करें। यह सबसे सरल और सामान्य तरीका है।

सैंपल डेटा बनाना

> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Smith"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f39125ddae1f53b621f0") }
> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Doe"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f39e25ddae1f53b621f1") }
> db.nestedDemo.insertOne({"Information":{"__StudentName":"Chris Brown"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f3a625ddae1f53b621f2") }

दस्तावेज़ देखना

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

आउटपुट:


नेस्टेड फ़ील्ड द्वारा क्वेरी

> db.nestedDemo.find({"Information.__StudentName":"John Doe"});

आउटपुट:


डॉट नोटेशन के नियम

  • फ़ील्ड नाम में डॉट होने पर उद्धरण आवश्यक: "Information.__StudentName"
  • कई स्तर: "level1.level2.level3"
  • ऐरे एलिमेंट्स: "array.0.field" (इंडेक्स द्वारा) या "array.field" (किसी भी एलिमेंट)

नेस्टेड ऑब्जेक्ट पर इंडेक्स


रेगुलर एक्सप्रेशन के साथ नेस्टेड क्वेरी


नोट: डबल अंडरस्कोर (__)

उदाहरण में फ़ील्ड नाम __StudentName है (डबल अंडरस्कोर से शुरू)। यह केवल एक नामकरण परंपरा है, MongoDB के लिए विशेष अर्थ नहीं रखता।

  1. - MongoDB में नेस्टेड दस्तावेज़ वैल्यू कैसे खोजें?

    मान खोजने के लिए MongoDB में $match का उपयोग करें। नमूना डेटा बनाना (एम्बेडेड ऐरे) db.demo648.insertOne( { StudentInformation: [ { Name:John, CountryName:US }, { Name:David, CountryName:AUS }, { Name:Chris, CountryName:US }, { Name:Robert, CountryName:UK } ] } ); सभी दस्तावेज़

  1. - MongoDB में सरणी के भीतर मिलान ऑब्जेक्ट्स की संख्या के आधार पर डॉक्यूमेंट्स कैसे ढूंढें?

    आइए एक उदाहरण देखते हैं और डॉक्यूमेंट्स के साथ एक कलेक्शन बनाते हैं: > db.demo694.insertOne( ... { details : [ { Name : Chris, Age:21 }, { Name : David, Age:22 } ] } ); { acknowledged : true, insertedId : ObjectId(5ea59279ece4e5779399c07f) } > db.demo694.insertOne( ... { details : [ { Name :

  1. - MongoDB दस्तावेजों में विशिष्ट मान से ऊपर के मान खोजें

    विशिष्ट मान से ऊपर के मान खोजने के लिए, MongoDB में $gte का उपयोग करके सिंटैक्स निम्न है: db.yourCollectionName.find({yourFieldName:{$gte:yourValue}}); आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo571.insertOne({Price:140}); { acknowledged : true, insertedId : ObjectId(5e909b3439cfeaaf0b