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 के लिए विशेष अर्थ नहीं रखता।