Dùng $pull kết hợp $in để xóa nhiều object cùng lúc. Tạo collection:
> db.pullMultipleObjectsDemo.insertOne(
{
"ClientId" : "100",
"ClientName" : "John",
"ClientPersonalDetails" : [
{ "ClientCountryName" : "US", "ClientProjectName" : "Online Book Store" },
{ "ClientCountryName" : "AUS", "ClientProjectName" : "Online Fee Management" },
{ "ClientCountryName" : "UK", "ClientProjectName" : "Online Pig Dice Game" },
{ "ClientCountryName" : "ANGOLA", "ClientProjectName" : "Online Hospital Management" }
]
}
);
{ "acknowledged" : true, "insertedId" : ObjectId("5cc7d0748f9e6ff3eb0ce43d") }
Hiển thị document:
> db.pullMultipleObjectsDemo.find().pretty();
Xóa 2 project: "Online Book Store" và "Online Pig Dice Game":
> db.pullMultipleObjectsDemo.update(
{"_id": ObjectId("5cc7d0748f9e6ff3eb0ce43d")},
{"$pull":{"ClientPersonalDetails":{"ClientProjectName":{$in:["Online Book Store","Online Pig Dice Game"]}}}}
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Kiểm tra lại (còn 2 project):
> db.pullMultipleObjectsDemo.find().pretty();
Kết quả: