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

Cập nhật document cụ thể trong collection MongoDB

Sử dụng $set với positional operator $ để cập nhật một element cụ thể trong mảng.

Tạo collection demo135:

> db.demo135.insertOne({
   "Details": [
      {"EmployeeId":101,"EmployeeName":"Chris","EmployeeSalary":45000},
      {"EmployeeId":102,"EmployeeName":"Chris","EmployeeSalary":45000}
   ]
});

Cập nhật EmployeeName của element có EmployeeId=102 (dùng $ trỏ đến element khớp):

> db.demo135.update(
   {"Details.EmployeeId":102},
   {$set: {"Details.$.EmployeeName":"John Doe"}}
);

Kết quả: element thứ 2 đổi tên thành John Doe:

{
   "_id" : ObjectId("5e31a5ddfdf09dd6d085399c"),
   "Details" : [
      {"EmployeeId":101,"EmployeeName":"Chris","EmployeeSalary":45000},
      {"EmployeeId":102,"EmployeeName":"John Doe","EmployeeSalary":45000}
   ]
}