Bạn có thể làm điều đó với
db.test.update(
{ _id : 133 },
{ $set : { PackSizes: {_id: 123, PackSizeName:"xyz", UnitName:"pqr"}} }
)
PackSizes có thể là bất kỳ tài liệu nào, có mảng hoặc không có nó.
Tài liệu kết quả của bạn sẽ là
{
"_id" : 133,
"Name" : "abc",
"Price" : 20,
"PackSizes" : {
"_id" : 123,
"PackSizeName" : "xyz",
"UnitName" : "pqr"
}
}
Đã cập nhật: Để thêm trường mới và một thành viên vào mảng,
Giả sử chúng tôi có tài liệu gốc của bạn
{
_id: 133,
Name: "abc",
Price: 20
}
Bước 1:Thêm trường mới:PackSizes là một mảng
db.test.update(
{ _id : 133 },
{ $set : {PackSizes: [ {_id: 123, PackSizeName:"xyz", UnitName:"pqr"}]}}
)
Bước 2:đẩy mục mới vào mảng
db.test.update(
{ _id : 133 },
{ $push : { PackSizes: {_id: 124, PackSizeName:"xyz", UnitName:"pqr"}} }
)
và bạn sẽ có
{
"_id" : 133,
"Name" : "abc",
"Price" : 20,
"PackSizes" : [
{
"_id" : 123,
"PackSizeName" : "xyz",
"UnitName" : "pqr"
},
{
"_id" : 124,
"PackSizeName" : "xyz",
"UnitName" : "pqr"
}
]
}