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

Cách cập nhật đối tượng con (embedded object) trong MongoDB

Để cập nhật các trường bên trong đối tượng con (embedded object), sử dụng toán tử $set kết hợp với dot notation. Tạo collection:

> db.updateChildObjectsDemo.insertOne({
  "StudentName": "Chris",
  "StudentOtherDetails": {
    "StudentSubject": "MongoDB",
    "StudentCountryName": "AUS"
  }
});
{ "acknowledged": true, "insertedId": ObjectId("5ce964e078f00858fb12e91f") }

Hiển thị document:

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

Kết quả:

{
  "_id": ObjectId("5ce964e078f00858fb12e91f"),
  "StudentName": "Chris",
  "StudentOtherDetails": {
    "StudentSubject": "MongoDB",
    "StudentCountryName": "AUS"
  }
}

Cập nhật trường StudentCountryName từ "AUS" sang "UK":

> db.updateChildObjectsDemo.update(
  { "StudentName": "Chris" },
  { $set: { "StudentOtherDetails.StudentCountryName": "UK" } }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

Kiểm tra lại:

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

Kết quả (đã cập nhật):

{
  "_id": ObjectId("5ce964e078f00858fb12e91f"),
  "StudentName": "Chris",
  "StudentOtherDetails": {
    "StudentSubject": "MongoDB",
    "StudentCountryName": "UK"
  }
}