How can I update child objects in MongoDB database?


To update child objects, use $set in MongoDB. Let us first create a collection with documents −

>db.demo21.insertOne({"StudentId":"STU-101","StudentDetails":{"StudentName":"Chris","StudentAge":21}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e14be8922d07d3b95082e6f")
}

Display all documents from a collection with the help of find() method −

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

This will produce the following output −

{
   "_id" : ObjectId("5e14be8922d07d3b95082e6f"),
   "StudentId" : "STU-101",
   "StudentDetails" : {
      "StudentName" : "Chris",
      "StudentAge" : 21
   }
}

Following is the query to update child objects in MongoDB −

> db.demo21.update({"StudentId":'STU-101'},{$set:{'StudentDetails.StudentName':'Robert'}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Display all documents from a collection with the help of find() method −

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

This will produce the following output −

{
   "_id" : ObjectId("5e14be8922d07d3b95082e6f"),
   "StudentId" : "STU-101",
   "StudentDetails" : {
      "StudentName" : "Robert",
      "StudentAge" : 21
   }
}

Updated on: 01-Apr-2020

192 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements