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

MongoDB में ऐरे एंट्री को ID द्वारा खोजकर अपडेट करना

MongoDB में पोजिशनल $ ऑपरेटर का उपयोग करके नेस्टेड ऐरे एलिमेंट को अपडेट करना

MongoDB में किसी ऐरे के भीतर विशिष्ट दस्तावेज़ को उसके ID द्वारा खोजकर अपडेट करने के लिए पोजिशनल $ ऑपरेटर का उपयोग किया जाता है। यह ऑपरेटर क्वेरी से मेल खाने वाले ऐरे के पहले एलिमेंट की पहचान करता है।

उदाहरण: संग्रह और दस्तावेज़ बनाना

> db.demo49.insertOne(
  {
    "Name": "David",
    "Details": [
      { "_id": "D1234", "Subject": "MySQL" },
      { "_id": "E234", "Subject": "Java" },
      { "_id": "F456", "Subject": "Python" }
    ]
  }
);
{ "acknowledged" : true, "insertedId" : ObjectId("5e270a77cfb11e5c34d89902") }

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

>> db.demo49.find();

आउटपुट:

{ "_id" : ObjectId("5e270a77cfb11e5c34d89902"), "Name" : "David", "Details" : [ { "_id" : "D1234", "Subject" : "MySQL" }, { "_id" : "E234", "Subject" : "Java" }, { "_id" : "F456", "Subject" : "Python" } ] }

ऐरे एलिमेंट को ID द्वारा अपडेट करना

> db.demo49.update(
  {"Details._id": "E234"},
  {$set: {"Details.$.Subject": "MongoDB"}},
  false,
  true
)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

>> db.demo49.find();

आउटपुट:

{ "_id" : ObjectId("5e270a77cfb11e5c34d89902"), "Name" : "David", "Details" : [ { "_id" : "D1234", "Subject" : "MySQL" }, { "_id" : "E234", "Subject" : "MongoDB" }, { "_id" : "F456", "Subject" : "Python" } ] }

मुख्य बिंदु:

  • Details._id: "E234" - ऐरे में इस ID वाले एलिमेंट को खोजता है
  • Details.$.Subject - $ पोजिशनल ऑपरेटर मेल खाने वाले ऐरे एलिमेंट को संदर्भित करता है
  • केवल पहला मेल खाने वाला एलिमेंट अपडेट होता है
  • एकाधिक मेल खाने वाले एलिमेंट्स के लिए arrayFilters के साथ updateMany() का उपयोग करें (MongoDB 3.6+)
  1. - MongoDB में अपडेट करें और ओवरराइट रोकें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo601.insertOne({ id:1, userDetails: { userName:John, userMailId:John@gmail.com } }); { acknowledged : true, insertedId : ObjectId(5e95ff5ced011c280a0905c7) } > db.demo601.insertOne({ id:2, userDetails: {

  1. - MongoDB कलेक्शन को _id के लिए अपडेट करना

    _id के लिए अपडेट करने के लिए MongoDB में $set का उपयोग करें। आइए एक कलेक्शन बनाते हैं: db.demo741.insertOne({SubjectName:MySQL}); { acknowledged : true, insertedId : ObjectId(5ead718657bb72a10bcf0672) } > db.demo741.insertOne({SubjectName:C}); { acknowledged : true, insertedId : ObjectId(5ead718

  1. - MongoDB में सरणी में डुप्लिकेट की जांच कैसे करें?

    सरणी में डुप्लिकेट जांचने के लिए MongoDB में aggregate() का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo756.insertOne({SubjectName:[MySQL,MongoDB,Java]}); { acknowledged : true, insertedId : ObjectId(5eb01e0d5637cd592b2a4add) } > db.demo756.insertOne({SubjectName:[MongoDB,MySQL,MongoDB,C,C