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

Cập nhật object con (child object) trong MongoDB

Cập nhật trường lồng trong object con với $set

Khi document chứa object con (embedded document), dùng dot notation để truy cập và cập nhật trường bên trong.

Dữ liệu sinh viên

> db.demo21.insertOne({
    "StudentId": "STU-101",
    "StudentDetails": { "StudentName": "Chris", "StudentAge": 21 }
});

Cập nhật tên sinh viên

> db.demo21.update(
    { "StudentId": 'STU-101' },
    { $set: { 'StudentDetails.StudentName': 'Robert' } }
);

Kết quả

{
    "_id": ObjectId("..."),
    "StudentId": "STU-101",
    "StudentDetails": { 
        "StudentName": "Robert",  // Đã thay đổi
        "StudentAge": 21 
    }
}

Đặc điểm: Chỉ trường StudentName bị thay đổi, StudentAge giữ nguyên. Đây là ưu điểm của $set so với replace toàn bộ document.