ในการแทนที่ ให้ใช้ตัวดำเนินการ $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" ] }