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

Xóa và cập nhật record hiện có trong MongoDB?

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