หากต้องการลบองค์ประกอบ ให้อัปเดต และใช้ $pull ใน MongoDB ตัวดำเนินการ $pull จะลบอินสแตนซ์ทั้งหมดของค่าหรือค่าที่ตรงกับเงื่อนไขที่ระบุออกจากอาร์เรย์ที่มีอยู่
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
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") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo541.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook", "yahoo" ] } } { "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }
ต่อไปนี้เป็นแบบสอบถามเพื่อลบองค์ประกอบในอาร์เรย์ MongoDB -
> db.demo541.update({ _id: ObjectId("5e8ca845ef4dcbee04fbbc11") }, ... { $pull: { 'software.services': "yahoo" }} ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo541.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook" ] } } { "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }