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

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

MongoDB में डॉट नोटेशन के माध्यम से नेस्टेड सरणी फ़ील्ड्स का चयन

MongoDB में find() प्रोजेक्शन में डॉट नोटेशन का उपयोग करके सरणी के भीतर नेस्टेड ऑब्जेक्ट्स के विशिष्ट फ़ील्ड्स को चुना या बाहर किया जा सकता है।

नमूना डेटा बनाना

> db.demo302.insertOne({"Id":101,"details":[{"Name":"Chris",Age:21,"Subject":"MySQL"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d746f5d93261e4bc9ea52") }
> db.demo302.insertOne({"Id":102,"details":[{"Name":"Bob",Age:23,"Subject":"MongoDB"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d74815d93261e4bc9ea53") }
> db.demo302.insertOne({"Id":103,"details":[{"Name":"David",Age:20,"Subject":"Java"}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e4d74955d93261e4bc9ea54") }

सभी दस्तावेज़ प्रदर्शित करना

> db.demo302.find();

आउटपुट:

{ "_id" : ObjectId("5e4d746f5d93261e4bc9ea52"), "Id" : 101, "details" : [ { "Name" : "Chris", "Age" : 21, "Subject" : "MySQL" } ] }
{ "_id" : ObjectId("5e4d74815d93261e4bc9ea53"), "Id" : 102, "details" : [ { "Name" : "Bob", "Age" : 23, "Subject" : "MongoDB" } ] }
{ "_id" : ObjectId("5e4d74955d93261e4bc9ea54"), "Id" : 103, "details" : [ { "Name" : "David", "Age" : 20, "Subject" : "Java" } ] }

डॉट नोटेशन के साथ फ़ील्ड चयन क्वेरी

विषय "MongoDB" वाले दस्तावेज़ खोजें, लेकिन केवल details.Subject फ़ील्ड लौटाएं, बाकी सभी फ़ील्ड्स (details.Name, details.Age, _id, Id) को बाहर करें।

>db.demo302.find({"details.Subject":"MongoDB"},{"details.Name":0,"details.Age":0,"_id":0,"Id":0});

आउटपुट:

{ "details" : [ { "Subject" : "MongoDB" } ] }

व्याख्या

  • {"details.Subject":"MongoDB"} - क्वेरी फ़िल्टर: सरणी details में किसी ऑब्जेक्ट का Subject "MongoDB" हो।
  • {"details.Name":0,"details.Age":0,"_id":0,"Id":0} - प्रोजेक्शन: ये फ़ील्ड्स बाहर करें (0)।
  • डॉट नोटेशन details.Subject सरणी तत्वों के भीतर फ़ील्ड तक पहुंचता है।
  • MongoDB सरणी फ़ील्ड्स पर प्रोजेक्शन लागू करते समय सभी मिलान करने वाले तत्वों को शामिल करता है।

यह दृष्टिकोण केवल आवश्यक डेटा स्थानांतरित करके नेटवर्क बैंडविड्थ बचाता है और क्लाइंट-साइड प्रोसेसिंग सरल करता है।

  1. MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें MongoDB क्वेरी: आईडी को सरणी फ़ील्ड मान से बाहर कैसे करें

    इसके लिए $not के साथ $in ऑपरेटर का उपयोग करें। आइए एक संग्रह बनाते हैं: [ { id: 101, subjectid: [ 102 ] }, { id: 102, subjectid: [ 102 ] } ] सभी दस्तावेज़ देखने के लिए: db.collection.find() आउटपुट: [ { _id: ObjectId(5a934e000102030405000000),

  1. - MongoDB क्वेरी: रिकॉर्ड ग्रुप करें और डॉट नोटेशन से विशिष्ट मान प्रदर्शित करें

    आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo430.insertOne( ...    { ...       "details": [ ...          { ...             "Name":"Chris" ...          } , ..

  1. - MongoDB में सिंपल क्वेरी का उपयोग करके दस्तावेज़ कैसे फ़िल्टर करें?

    दस्तावेज़ फ़िल्टर करने के लिए $match का उपयोग करें। $match केवल उन दस्तावेज़ों को पास करता है जो निर्दिष्ट शर्त से मेल खाते हैं, अगले पाइपलाइन स्टेज के लिए। नमूना डेटा बनाना db.demo629.insertOne( { Subject: [MySQL, MongoDB], details: [ { Name:Chris, Marks:78 }, { Name:David, Marks:89 } ] } );