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

MongoDB में नेस्टेड एम्बेडेड दस्तावेज़ कैसे अपडेट करें?

MongoDB में नेस्टेड दस्तावेज़ अपडेट करने के लिए UPDATE() और पोजिशनल $ ऑपरेटर का उपयोग करें।

नमूना डेटा बनाना (नेस्टेड ऐरे)

> db.demo643.insertOne({
  details: [
    { "CountryName":"US", StudentDetails:[{Name:"Chris"},{SubjectName:"MySQL"}] },
    { "CountryName":"UK", StudentDetails:[{Name:"Bob"},{SubjectName:"Java"}] }
  ]
} )

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

> db.demo643.find();
{ "details" : [ { "CountryName" : "US", "StudentDetails" : [ { "Name" : "Chris" }, { "SubjectName" : "MySQL" } ] }, { "CountryName" : "UK", "StudentDetails" : [ { "Name" : "Bob" }, { "SubjectName" : "Java" } ] } ] }

नेस्टेड एम्बेडेड दस्तावेज़ अपडेट करने की क्वेरी (UK वाले में Marks जोड़ना)

> db.demo643.update({"details.CountryName": "UK"}, {"$push": {"details.$.StudentDetails": {Marks:78}}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

अपडेट के बाद दस्तावेज़ देखना

> db.demo643.find().pretty();
{ "details" : [ { "CountryName" : "US", "StudentDetails" : [ { "Name" : "Chris" }, { "SubjectName" : "MySQL" } ] }, { "CountryName" : "UK", "StudentDetails" : [ { "Name" : "Bob" }, { "SubjectName" : "Java" }, { "Marks" : 78 } ] } ] }

व्याख्या: details.CountryName: "UK" क्वेरी बाहरी ऐरे में मिलान ढूंढती है। पोजिशनल ऑपरेटर $ मिलान वाले बाहरी ऐरे एलिमेंट की स्थिति को संदर्भित करता है। $push उस एलिमेंट के StudentDetails ऐरे में नया ऑब्जेक्ट जोड़ता है।

  1. - MongoDB में एम्बेडेड दस्तावेजों के ऐरे को क्वेरी करें और नया जोड़ें

    इसके लिए, अपडेट के साथ $push का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo573.insertOne( { _id: 101, SearchInformation: [ { Site: Facebook.com, NumberOfHits: 100 }, { Site: Twitter.com, NumberOfHits: 300 } ] } ); { ac

  1. - नेस्टेड MongoDB डॉक्यूमेंट्स से केवल कीज़ कैसे प्रदर्शित करें?

    आइए एक कलेक्शन बनाते हैं: > db.demo740.insertOne({ details: [ { Name:Chris, Age:21, CountryName:US }, { Name:Bob, Age:20, CountryName:UK, isMarried:true } ] }); { acknowledged : true, insertedId : ObjectId(5ead700c57bb72a10bcf066d) } find() से सभी डॉक्यूमेंट्स देखें: > db.demo740.find(); आउटप

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

    ऑब्जेक्ट्स की सरणी के लिए नेस्टेड डॉक्यूमेंट्स पर क्वेरी करने के लिए find() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo763.insertOne( { _id:1, CountryName:US, studentInformation: [ { StudentName:Chris }, { StudentName:David, StudentAge:22 } ] } ); { acknowledged : true, insertedId : 1 } f