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

ลบองค์ประกอบอาร์เรย์ใน MongoDB ด้วย update() และ $pull

ใช้ตัวดำเนินการ $pull ร่วมกับ update() เพื่อลบองค์ประกอบเฉพาะออกจากอาร์เรย์ เริ่มต้นด้วยการสร้างคอลเลกชันตัวอย่าง:

> db.removingAnArrayElementDemo.insertOne({"UserMessage":["Hi","Hello","Bye"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5cef97bdef71edecf6a1f6a4") }

แสดงเอกสาร:

> db.removingAnArrayElementDemo.find().pretty();
{ "_id" : ObjectId("5cef97bdef71edecf6a1f6a4"), "UserMessage" : [ "Hi", "Hello", "Bye" ] }

คิวรี่ลบ "Hello" ออกจากอาร์เรย์ UserMessage:

> db.removingAnArrayElementDemo.update(
  {_id:ObjectId("5cef97bdef71edecf6a1f6a4")},
  { "$pull": { "UserMessage": "Hello" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ตรวจสอบเอกสารอีกครั้ง:

> db.removingAnArrayElementDemo.find().pretty();
{ "_id" : ObjectId("5cef97bdef71edecf6a1f6a4"), "UserMessage" : [ "Hi", "Bye" ] }

สรุป: $pull ลบ ทุกค่า ที่ตรงกับเงื่อนไขในอาร์เรย์ หากมีค่าซ้ำกันหลายค่า จะถูกลบทั้งหมด