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

MongoDB में सबडॉक्यूमेंट सरणी में सबडॉक्यूमेंट कैसे जोड़ें?

MongoDB में सबडॉक्यूमेंट की सरणी में नया सबडॉक्यूमेंट जोड़ने के लिए $push ऑपरेटर का उपयोग करें।

उदाहरण

सबडॉक्यूमेंट सरणी वाला दस्तावेज़ बनाएं:

> db.subDocumentToSubDocumentDemo.insertOne(
  {
    "_id": 101,
    "StudentName": "Larry",
    "StudentAge": 21,
    "StudentDetails": [
      {
        "StudentCountryName": "US",
        "StudentFavouriteSubjectList": []
      }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : 101 }

दस्तावेज़ देखें:

> db.subDocumentToSubDocumentDemo.find().pretty();
{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [ ] } ] }

नया सबडॉक्यूमेंट StudentDetails सरणी में जोड़ें

> db.subDocumentToSubDocumentDemo.update(
  { "_id": 101 },
  {
    "$push": {
      "StudentDetails": {
        "StudentCountryName": "UK",
        "StudentFavouriteSubjectList": ["MongoDB", "Java"]
      }
    }
  }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

परिणाम जांचें:

> db.subDocumentToSubDocumentDemo.find().pretty();
{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [ ] }, { "StudentCountryName" : "UK", "StudentFavouriteSubjectList" : [ "MongoDB", "Java" ] } ] }

मुख्य बिंदु:

  • $push सरणी के अंत में नया तत्व जोड़ता है
  • पूरा सबडॉक्यूमेंट ऑब्जेक्ट के रूप में निर्दिष्ट करें
  • सरणी फील्ड नाम (StudentDetails) के बाद नए ऑब्जेक्ट का विवरण दें

उन्नत विकल्प

$push के साथ मॉडिफायर का उपयोग करें:

db.collection.update(
  {_id: 101},
  {$push: {StudentDetails: {$each: [doc1, doc2], $slice: -5, $sort: {StudentCountryName: 1}}}}
)
  • $each - एक साथ कई दस्तावेज़ जोड़ें
  • $slice - सरणी आकार सीमित करें (ऋणात्मक = अंत से)
  • $sort - सरणी को क्रमबद्ध रखें
  1. - MongoDB में ऐरे में कैसे जोड़ें?

    MongoDB में ऐरे में जोड़ने के लिए $concatArrays ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo435.insertOne({"FirstName":["Chris"],"LastName":["Brown"]} ); {    "acknowledged" : true,    "inserted

  1. - MongoDB Array में Element Remove करना

    Element remove करने के लिए update में $pull का उपयोग करें। $pull operator existing array से उन सभी instances को remove करता है जो specified condition से match करते हैं। Collection बनाना db.demo541.insertOne({software:{services:[gmail,facebook,yahoo]}}); { acknowledged : true, insertedId : ObjectId(

  1. - MongoDB एग्रीगेशन: ऐरे के सबसेट एलिमेंट्स को जोड़ें

    ऐरे के सबसेट एलिमेंट्स को एक साथ जोड़ने के लिए, $first के साथ $sum का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo610.insertOne({Values:[10,20,30,40,50]}); { acknowledged : true, insertedId : ObjectId(5e9747b8f57d0dc0b182d62e) } find() मेथड की मदद से कलेक्शन के सभी दस्तावेज