Để thay thế một phần tử trong mảng, sử dụng $set kết hợp với toán tử vị trí $.
Tạo collection với mảng StudentName:
> db.demo564.insertOne({"StudentName":["Chris","David","Mike","Sam"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e90880a39cfeaaf0b97b576") }
Hiển thị tài liệu:
> db.demo564.find().pretty();
Kết quả:
{
"_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
"StudentName" : [ "Chris", "David", "Mike", "Sam" ]
}
Cập nhật: tìm tài liệu có "David" trong mảng StudentName, thay thế phần tử khớp (positional $) thành "Carol Taylor":
> db.demo564.updateMany(
... { "StudentName": "David" },
... { "$set": { "StudentName.$": "Carol Taylor" } }
... )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
Kiểm tra lại:
> db.demo564.find().pretty();
Kết quả (David đã bị thay bằng Carol Taylor):
{
"_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
"StudentName" : [ "Chris", "Carol Taylor", "Mike", "Sam" ]
}