หากต้องการจับคู่และลบองค์ประกอบ ให้ใช้ MongoDB $pullAll ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.removeElementsDemo.insertOne({"ListOfNames":["Mike","Sam","David","Carol"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e071e5a25ddae1f53b62203") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.removeElementsDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David", "Carol" ] }
นี่คือแบบสอบถามเพื่อจับคู่และลบองค์ประกอบออกจากอาร์เรย์ -
> db.removeElementsDemo.update( ... { }, ... { ... $pullAll: ... { ... "ListOfNames": ["Carol"] ... } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.removeElementsDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ ด้านบน เราลบเพียงค่าเดียว -
{ "_id" : ObjectId("5e071e5a25ddae1f53b62203"), "ListOfNames" : [ "Mike", "Sam", "David" ] }