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

Cập nhật một phần tử đơn lẻ trong mảng của document MongoDB

Để cập nhật một phần tử đơn lẻ trong mảng, sử dụng toán tử vị trí $. Tạo collection:

> db.updateASingleListDemo.insertOne({
  _id: 1,
  "EmployeeName": "Chris",
  "EmployeeDetails": [
    { "EmployeeId": "EMP-101", "EmployeeSalary": 18999 }
  ]
});
{ "acknowledged": true, "insertedId": 1 }

Hiển thị document:

> db.updateASingleListDemo.find().pretty();

Kết quả:

{
  "_id": 1,
  "EmployeeName": "Chris",
  "EmployeeDetails": [
    { "EmployeeId": "EMP-101", "EmployeeSalary": 18999 }
  ]
}

Cập nhật lương (tăng 1) cho phần tử có EmployeeId="EMP-101":

> db.updateASingleListDemo.update(
  { _id: 1, 'EmployeeDetails.EmployeeId': "EMP-101" },
  { $inc: { 'EmployeeDetails.$.EmployeeSalary': 1 } }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

Kiểm tra lại:

> db.updateASingleListDemo.find().pretty();

Kết quả (lương đã thành 19000):

{
  "_id": 1,
  "EmployeeName": "Chris",
  "EmployeeDetails": [
    { "EmployeeId": "EMP-101", "EmployeeSalary": 19000 }
  ]
}