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}
]
}