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

MongoDB में ऑब्जेक्ट के अंदर सरणी में नए आइटम कैसे पुश करें?

MongoDB में नेस्टेड सरणी (ऑब्जेक्ट के अंदर सरणी) में नए आइटम जोड़ने के लिए $elemMatch के साथ $push ऑपरेटर का उपयोग करें।

उदाहरण

जटिल नेस्टेड संरचना वाला कलेक्शन बनाएं:

> db.pushNewItemsDemo.insertOne(
  {
    "_id" : 1,
    "StudentScore" : 56,
    "StudentOtherDetails" : [
      {
        "StudentName" : "John",
        "StudentFriendName" : [ "Bob", "Carol" ]
      },
      {
        "StudentName" : "David",
        "StudentFriendName" : [ "Mike", "Sam" ]
      }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : 1 }

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

> db.pushNewItemsDemo.find();

आउटपुट:

{ "_id" : 1, "StudentScore" : 56, "StudentOtherDetails" : [ { "StudentName" : "John", "StudentFriendName" : [ "Bob", "Carol" ] }, { "StudentName" : "David", "StudentFriendName" : [ "Mike", "Sam" ] } ] }

David के दोस्तों की सूची में "James" जोड़ें

> db.pushNewItemsDemo.update(
  {"_id": 1, "StudentOtherDetails": {"$elemMatch": {"StudentName": "David"}}},
  {"$push": {"StudentOtherDetails.$.StudentFriendName": "James"}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.pushNewItemsDemo.find();

आउटपुट:

{ "_id" : 1, "StudentScore" : 56, "StudentOtherDetails" : [ { "StudentName" : "John", "StudentFriendName" : [ "Bob", "Carol" ] }, { "StudentName" : "David", "StudentFriendName" : [ "Mike", "Sam", "James" ] } ] }

व्याख्या:

  • $elemMatch सरणी में विशिष्ट ऑब्जेक्ट ढूंढता है (StudentName: "David")
  • $ पोजिशनल ऑपरेटर मिले हुए तत्व को संदर्भित करता है
  • $push उस तत्व की सरणी में नया मान जोड़ता है

MongoDB 3.6+ में arrayFilters का उपयोग करके अधिक स्पष्ट सिंटैक्स उपलब्ध है।

  1. - MongoDB में ऐरे में आइटम कैसे गिनें?

    ऐरे में आइटम गिनने के लिए length प्रॉपर्टी का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo440.insertOne( ...    { ...       "Name":"Chris", ...       "ListOfFriends":["John","Sam","Mik

  1. - MongoDB में ऑब्जेक्ट ऐरे से आइटम कैसे प्राप्त करें?

    ऑब्जेक्ट ऐरे से आइटम प्राप्त करने के लिए aggregate() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo459.insertOne( ... { "_id" : 1, ... "Information" : [ ...    { ...         "Name" : "Chris", ...    

  1. - MongoDB में Document के अंदर Array के अंदर Object Update करने का Syntax

    इसके लिए MongoDB में findOneAndUpdate() का उपयोग करें। findOneAndUpdate() method filter और sort criteria के आधार पर single document update करता है। Collection बनाना > db.demo553.insertOne( ... { ... id:101, ... Name:John, ... midExamDetails: ... [ ... {SubjectName:MySQL,Marks:70}, ..