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

Thay thế giá trị trường mảng trong MongoDB

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" ]
}