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

Cập nhật nhiều tài liệu với tham số multi trong MongoDB

Để cập nhật tất cả tài liệu khớp điều kiện, đặt tùy chọn multi: true trong update() (MongoDB < 4.0) hoặc dùng updateMany() (phiên bản mới).

Tạo collection:

> db.demo390.insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5d1f3a22064be7ab44e7fa") }
> db.demo390.insertOne({"FirstName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5d1f3e22064be7ab44e7fb") }
> db.demo390.insertOne({"FirstName":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5d1f4122064be7ab44e7fc") }
> db.demo390.insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e5d1f4422064be7ab44e7fd") }

Xem dữ liệu (2 tài liệu Chris):

> db.demo390.find();

Cập nhật tất cả Chris thành John với multi: true:

> db.demo390.update({FirstName:"Chris"},{$set:{"FirstName":"John"}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

Kết quả (cả 2 Chris đều thành John):

> db.demo390.find();

Phiên bản hiện đại (MongoDB 3.2+):

db.demo390.updateMany(
  {FirstName: "Chris"},
  {$set: {FirstName: "John"}}
)

updateMany() mặc định cập nhật tất cả khớp, không cần tham số multi.