Element remove करने के लिए update में $pull का उपयोग करें। $pull operator existing array से उन सभी instances को remove करता है जो specified condition से match करते हैं।
Collection बनाना
db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca845ef4dcbee04fbbc11") }
> db.demo541.insertOne({"software":{"services":["whatsapp","twitter"]}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca85cef4dcbee04fbbc12") }
सभी Documents Display करना
> db.demo541.find();
Output:
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook", "yahoo" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }
Array से Element Remove करने का Query
> db.demo541.update({ _id: ObjectId("5e8ca845ef4dcbee04fbbc11") },
... { $pull: { 'software.services': "yahoo" }}
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Updated Documents Display करना
> db.demo541.find();
Output:
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }
मुख्य बिंदु: Dot notation (software.services) का उपयोग करके nested array में specific value ("yahoo") को remove किया गया। $pull सभी matching instances remove करता है।