Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ลบค่าอาร์เรย์ออกจากเอกสารใน MongoDB


เพื่อลบค่าอาร์เรย์ ให้ใช้ $pull ใน MongoDB โอเปอเรเตอร์ $pull จะลบจากอาร์เรย์ที่มีอยู่แล้ว ทุกอินสแตนซ์ของค่าหรือค่าที่ตรงกับเงื่อนไขที่ระบุ

มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

> db.demo535.insertOne( ... { ... ...    "studentId" : "101", ...    "studentName" : "Chris", ...    "ListOfMailIds" : [ ...       "Chris@gmail.com", ...       "Chris@yahoo.com" ...    ] ... ... } ... ) {    "acknowledged" : true,    "insertedId" : ObjectId("5e8c82bfef4dcbee04fbbc00") }

แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()

> db.demo535.find();

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8c82bfef4dcbee04fbbc00"), "studentId" : "101", "studentName" : "Chris", "ListOfMailIds" : [ "Chris@gmail.com", "Chris@yahoo.com" ] }

คำสั่งสำหรับลบค่าอาร์เรย์ออกจากเอกสารใน MongoDB

> db.demo535.update( ... { _id: ObjectId("5e8c82bfef4dcbee04fbbc00") }, ... { $pull: { 'ListOfMailIds': 'Chris@yahoo.com' } } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()

> db.demo535.find();

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8c82bfef4dcbee04fbbc00"), "studentId" : "101", "studentName" : "Chris", "ListOfMailIds" : [ "Chris@gmail.com" ] }