Dùng $pull để xóa phần tử khỏi mảng và cập nhật document. Tạo collection:
> db.removeDemo.insertOne(
{
"UserName" : "Larry",
"UserDetails" : [ { "_id" : 101, "UserEmailId" : "976Larry@gmail.com" } ]
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cc7f9f88f9e6ff3eb0ce446") }
> db.removeDemo.insertOne(
{
"UserName" : "Mike",
"UserDetails" : [ { "_id" : 102, "UserEmailId" : "Mike121@gmail.com" } ]
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cc7f9f98f9e6ff3eb0ce447") }
Hiển thị tất cả:
> db.removeDemo.find().pretty();
Xóa phần tử UserDetails có _id=102 của user Mike:
> db.removeDemo.update(
{"_id": ObjectId("5cc7f9f98f9e6ff3eb0ce447")},
{ "$pull": { "UserDetails": {"_id": 102}}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Kiểm tra lại (mảng UserDetails của Mike rỗng):
> db.removeDemo.find().pretty();
Kết quả: