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

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},
...     {"SubjectName":"MongoDB","Marks":35}
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : ObjectId("5e8e3da19e5f92834d7f05ed") }

सभी Documents Display करना

> db.demo553.find();

Output:

{ "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"), "id" : 101, "Name" : "John", "midExamDetails" : [ { "SubjectName" : "MySQL", "Marks" : 70 }, { "SubjectName" : "MongoDB", "Marks" : 35 } ] }

Array के अंदर Object Update करने का Query

> db.demo553.findOneAndUpdate(
...   { id:101, "midExamDetails.SubjectName":"MongoDB" },
...   { $set:{ 'midExamDetails.$.Marks': 97 } }
... );
{ "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"), "id" : 101, "Name" : "John", "midExamDetails" : [ { "SubjectName" : "MySQL", "Marks" : 70 }, { "SubjectName" : "MongoDB", "Marks" : 35 } ] }

Updated Document Display करना

> db.demo553.find().pretty();

Output:

{
  "_id" : ObjectId("5e8e3da19e5f92834d7f05ed"),
  "id" : 101,
  "Name" : "John",
  "midExamDetails" : [
    { "SubjectName" : "MySQL", "Marks" : 70 },
    { "SubjectName" : "MongoDB", "Marks" : 97 }
  ]
}

व्याख्या: findOneAndUpdate में filter midExamDetails.SubjectName: "MongoDB" से matching array element find किया। $ positional operator ने matching array element की position identify की और $set से उसका Marks field update किया।

  1. - MongoDB में $push के साथ सरणी अपडेट करें

    MongoDB में $push के साथ सरणी अपडेट करने के लिए, updateOne() का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo526.insertOne( { CountryName: US, TeacherName: Bob, StudentInformation: [ { Name: Chris, Subject: MySQL, ListOfMailI

  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