ในการแทนที่ ให้ใช้ตัวดำเนินการ $set และ positional($) ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo564.insertOne({"StudentName":["Chris","David","Mike","Sam"]});{
"acknowledged" : true, "insertedId" : ObjectId("5e90880a39cfeaaf0b97b576")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo564.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
"StudentName" : [
"Chris",
"David",
"Mike",
"Sam"
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อแทนที่ค่าอาร์เรย์เดียวด้วยสตริง -
> db.demo564.updateMany(
... { "StudentName": "David" },
... { "$set": { "StudentName.$": "Carol Taylor" } }
... )
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
> แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo564.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5e90880a39cfeaaf0b97b576"),
"StudentName" : [
"Chris",
"Carol Taylor",
"Mike",
"Sam"
]
}