Để 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"
}
}