ใช้ updateMany() สำหรับอัปเดตหลายเอกสาร
เมธอด updateMany(filter, update) อัปเดตทุกเอกสารที่ตรงเงื่อนไข (filter ว่าง {} = ทุกเอกสาร)
ตัวอย่าง
สร้างคอลเลกชัน updateManyDocumentsDemo:
> db.updateManyDocumentsDemo.insertOne({"StudentName":"John","StudentLastName":"Smith"});
> db.updateManyDocumentsDemo.insertOne({"StudentName":"John","StudentLastName":"Doe"});
> db.updateManyDocumentsDemo.insertOne({"StudentName":"Carol","StudentLastName":"Taylor"});
> db.updateManyDocumentsDemo.insertOne({"StudentName":"David","StudentLastName":"Miller"});
เปลี่ยนชื่อฟิลด์ StudentName -> StudentFirstName (ทุกเอกสาร)
> db.updateManyDocumentsDemo.updateMany({}, {$rename: {'StudentName': "StudentFirstName"}});
ผลลัพธ์:
{ "acknowledged" : true, "matchedCount" : 4, "modifiedCount" : 4 }
ตรวจสอบหลังอัปเดต
> db.updateManyDocumentsDemo.find().pretty();
ผลลัพธ์:
{ "_id" : ObjectId("..."), "StudentLastName" : "Smith", "StudentFirstName" : "John" }
{ "_id" : ObjectId("..."), "StudentLastName" : "Doe", "StudentFirstName" : "John" }
{ "_id" : ObjectId("..."), "StudentLastName" : "Taylor", "StudentFirstName" : "Carol" }
{ "_id" : ObjectId("..."), "StudentLastName" : "Miller", "StudentFirstName" : "David" }
ใช้ $set, $inc, $unset ได้เช่นกันใน updateMany