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

Cập nhật trường được chọn trong MongoDB với $set

Cập nhật chính xác trường cần thiết bằng $set

Toán tử $set trong update chỉ thay đổi giá trị của các trường được chỉ định, giữ nguyên các trường khác.

Dữ liệu tên

> db.demo352.insertOne({"Name": "Chris"});
> db.demo352.insertOne({"Name": "David"});
> db.demo352.insertOne({"Name": "Bob"});
> db.demo352.insertOne({"Name": "Mike"});

Cập nhật David thành Robert

> db.demo352.update(
    { Name: "David" },
    { $set: { "Name": "Robert" } }
);

Kết quả

{ "_id": ..., "Name": "Chris" }
{ "_id": ..., "Name": "Robert" }  <-- Đã cập nhật
{ "_id": ..., "Name": "Bob" }
{ "_id": ..., "Name": "Mike" }

So sánh:

  • { $set: { field: value } }: Cập nhật/trường mới
  • { $unset: { field: "" } }: Xóa trường
  • { $inc: { field: n } }: Tăng/giảm số
  • Thay thế toàn bộ document: db.col.replaceOne(filter, newDoc)

Khuyến nghị: Dùng updateOne() hoặc updateMany() thay vì update() deprecated.