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

ลบค่า ObjectId ออกจากอาร์เรย์ใน MongoDB ด้วย $pull

เพื่อลบค่า ObjectId ออกจากอาร์เรย์ ให้ใช้ตัวดำเนินการ $pull ร่วมกับ $in ใน MongoDB

สร้างคอลเลกชันพร้อมเอกสารที่มีอาร์เรย์ arrayOfObjectsId เก็บ ObjectId:

> db.demo258.insertOne({"arrayOfObjectsId":[ ObjectId("5e47a5e81627c0c63e7dba92"),ObjectId("5e47a5e51627c0c63e7dba91")]}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5e47a8211627c0c63e7dba97") }

แสดงเอกสารทั้งหมด:

> db.demo258.find();

ผลลัพธ์ - อาร์เรย์มี ObjectId 2 ค่า:

คำสั่งอัปเดตใช้ $pull กับ $in เพื่อลบ ObjectId เฉพาะ "5e47a5e81627c0c63e7dba92":

> db.demo258.update( { }, { $pull: { arrayOfObjectsId: { $in: [ ObjectId("5e47a5e81627c0c63e7dba92") ] } } } ); 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

แสดงเอกสารอีกครั้งหลังอัปเดต:

> db.demo258.find();

ผลลัพธ์ - เหลือ ObjectId เพียงค่าเดียว: