Để xóa một phần tử khỏi mảng, hãy sử dụng update() kết hợp với toán tử $pull. Toán tử $pull loại bỏ khỏi mảng tất cả các instance khớp với điều kiện.
Tạo collection với mảng lồng trong đối tượng:
db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca845ef4dcbee04fbbc11") }
> db.demo541.insertOne({"software":{"services":["whatsapp","twitter"]}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e8ca85cef4dcbee04fbbc12") }
Hiển thị tất cả:
> db.demo541.find();
Kết quả:
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook", "yahoo" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }
Xóa "yahoo" khỏi mảng services của tài liệu đầu tiên:
> db.demo541.update({ _id: ObjectId("5e8ca845ef4dcbee04fbbc11") },
... { $pull: { 'software.services': "yahoo" } }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Kiểm tra lại:
> db.demo541.find();
Kết quả:
{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }