Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Kéo (pull) nhiều object khỏi mảng trong MongoDB?

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ả: