Sử dụng positional operator $ để thay thế giá trị cụ thể trong mảng. Tạo collection:
> db.replaceAnArrayFieldValueDemo.insertOne({ "StudentTechnicalSubjects": ["MySQL", "SQL Server", "PL/SQL"] });
{ "acknowledged": true, "insertedId": ObjectId("5cea41e0ef71edecf6a1f68f") }
Hiển thị document:
> db.replaceAnArrayFieldValueDemo.find().pretty();
Kết quả:
{
"_id": ObjectId("5cea41e0ef71edecf6a1f68f"),
"StudentTechnicalSubjects": [ "MySQL", "SQL Server", "PL/SQL" ]
}
Thay thế "SQL Server" bằng "MongoDB":
> db.replaceAnArrayFieldValueDemo.update(
{ "StudentTechnicalSubjects": "SQL Server" },
{ $set: { 'StudentTechnicalSubjects.$': "MongoDB" } }
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
Kiểm tra lại:
> db.replaceAnArrayFieldValueDemo.find().pretty();
Kết quả (đã thay thế):
{
"_id": ObjectId("5cea41e0ef71edecf6a1f68f"),
"StudentTechnicalSubjects": [ "MySQL", "MongoDB", "PL/SQL" ]
}