ตั้งค่า multi: true ใน update() เพื่ออัปเดต ทุก เอกสารที่ตรงเงื่อนไข (Default multi: false อัปเดตแค่ตัวแรก)
ตัวอย่างข้อมูลทดสอบ
> db.demo390.insertOne({"FirstName":"Chris"});
> db.demo390.insertOne({"FirstName":"David"});
> db.demo390.insertOne({"FirstName":"Bob"});
> db.demo390.insertOne({"FirstName":"Chris"});
แสดงข้อมูลก่อน (มี Chris 2 รายการ)
> db.demo390.find();
{
"_id" : ObjectId("5e5d1f3a22064be7ab44e7fa"), "FirstName" : "Chris"
}
{
"_id" : ObjectId("5e5d1f3e22064be7ab44e7fb"), "FirstName" : "David"
}
{
"_id" : ObjectId("5e5d1f4122064be7ab44e7fc"), "FirstName" : "Bob"
}
{
"_id" : ObjectId("5e5d1f4422064be7ab44e7fd"), "FirstName" : "Chris"
}
คำสั่งอัปเดต Chris -> John ทุกตัว (multi: true)
> db.demo390.update({FirstName:"Chris"},{$set:{"FirstName":"John"}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
ผลลัพธ์ (Chris ทั้ง 2 กลายเป็น John)
> db.demo390.find();
{
"_id" : ObjectId("5e5d1f3a22064be7ab44e7fa"), "FirstName" : "John"
}
{
"_id" : ObjectId("5e5d1f3e22064be7ab44e7fb"), "FirstName" : "David"
}
{
"_id" : ObjectId("5e5d1f4122064be7ab44e7fc"), "FirstName" : "Bob"
}
{
"_id" : ObjectId("5e5d1f4422064be7ab44e7fd"), "FirstName" : "John"
}
หมายเหตุ: MongoDB 3.2+ แนะนำใช้ updateMany() แทน update({}, ..., {multi:true}) เพื่อความชัดเจน