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

MongoDB: ลบสมาชิกในอาร์เรย์ด้วย $pull (หลายเอกสารพร้อมกัน)


สร้างคอลเลกชันตัวอย่าง

> db.demo279.insertOne({id:[101,103,105,110]});
{ "acknowledged": true, "insertedId": ObjectId("5e490af7dd099650a5401a58") }
> db.demo279.insertOne({id:[107,111,110]});
{ "acknowledged": true, "insertedId": ObjectId("5e490b06dd099650a5401a59") }

แสดงข้อมูล

> db.demo279.find();
{ "_id": ObjectId("5e490af7dd099650a5401a58"), "id": [ 101, 103, 105, 110 ] }
{ "_id": ObjectId("5e490b06dd099650a5401a59"), "id": [ 107, 111, 110 ] }

คิวรีลบ 110 จากทุกเอกสาร: $pull + multi:true

> db.demo279.update({},{$pull:{id:110}},{multi:true});
WriteResult({ "nMatched": 2, "nUpserted": 0, "nModified": 2 })

ผลลัพธ์: 110 หายไปจากทั้งสองเอกสาร

> db.demo279.find();
{ "_id": ObjectId("5e490af7dd099650a5401a58"), "id": [ 101, 103, 105 ] }
{ "_id": ObjectId("5e490b06dd099650a5401a59"), "id": [ 107, 111 ] }