Removing an object in a child collection in MongoDB?



To remove an object in a child collection, use $pull in MongoDB. Let us create a collection with documents −

> db.demo715.insertOne({ ...    _id:1, ...    details : ...    [ ...       { 'id' : '101', ...       'Information' : [ ...          { ...             'studentid' : '102', ...             "Name":"Bob" ...          }, ...          { ...             'studentid' : '103', ...             "Name":"Chris" ...          } ...       ] ...    } ... ] ... }); { "acknowledged" : true, "insertedId" : 1 }

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

> db.demo715.find();

This will produce the following output −

{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "102", "Name" : "Bob" }, { "studentid" : "103", "Name" : "Chris" } ] } ] }

Following is the query to remove an object in a child collection in MongoDB −

> db.demo715.update( ...    {"details.id":'101'}, ...    { $pull: { 'details.$.Information':{studentid:'102',"Name":"Bob"} } } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo715.find();

This will produce the following output −

{ "_id" : 1, "details" : [ { "id" : "101", "Information" : [ { "studentid" : "103", "Name" : "Chris" } ] } ] }
Updated on: 2020-05-14T10:12:12+05:30

635 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements