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

Cập nhật tất cả giá trị của một trường với chuỗi cụ thể trong MongoDB

Sử dụng update() với multi: true

Để cập nhật cùng một giá trị cho tất cả bản ghi trong collection, dùng update({}, { $set: { field: "giá_trị" } }, { multi: true }). Lưu ý: Từ MongoDB 3.2, nên dùng updateMany() thay thế.

Dữ liệu mẫu

> db.demo720.insertMany([
  { SubjectName: "MySQL" },
  { SubjectName: "Java" },
  { SubjectName: "C" },
  { SubjectName: "C++" }
]);

Truy vấn cập nhật

// Cách cũ (MongoDB < 3.2)
db.demo720.update(
  {},
  { $set: { SubjectName: "MongoDB" } },
  { multi: true }
);

// Cách hiện đại (MongoDB >= 3.2)
db.demo720.updateMany(
  {},
  { $set: { SubjectName: "MongoDB" } }
);

Kết quả

{ "_id": ObjectId("..."), "SubjectName": "MongoDB" }
{ "_id": ObjectId("..."), "SubjectName": "MongoDB" }
{ "_id": ObjectId("..."), "SubjectName": "MongoDB" }
{ "_id": ObjectId("..."), "SubjectName": "MongoDB" }

Tất cả 4 bản ghi đều được cập nhật trường SubjectName thành "MongoDB".