Tạo collection với document:
> db.updateArrayElementDemo.insertOne(
{
"UserDetails": [
{ "UserName": "Chris", "UserAge": 23 }
]
}
); { "acknowledged" : true, "insertedId" : ObjectId("5ce9029378f00858fb12e90d") }
Hiển thị document:
> db.updateArrayElementDemo.find().pretty();
Kết quả:
{ "_id" : ObjectId("5ce9029378f00858fb12e90d"), "UserDetails" : [ { "UserName" : "Chris", "UserAge" : 23 } ] }
Truy vấn cập nhật: thêm trường UserCountryName = "US" vào phần tử mảng UserDetails có UserAge = 23 (dùng positional operator $):
db.updateArrayElementDemo.update(
{ "UserDetails.UserAge": 23 },
{ "$push": { "UserDetails.$.UserCountryName": "US" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Kiểm tra lại document:
> db.updateArrayElementDemo.find().pretty();
Kết quả (UserCountryName giờ là mảng chứa "US"):
{ "_id" : ObjectId("5ce9029378f00858fb12e90d"), "UserDetails" : [ { "UserName" : "Chris", "UserAge" : 23, "UserCountryName" : [ "US" ] } ] }