Bạn cần sử dụng tùy chọn multi: true để cập nhật nhiều document cùng lúc. Tạo collection với document:
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":29});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc0b50a6c6dd317adc8") }
> db.multiUpdateDemo.insertOne({"ClientName":"Carol","ClientAge":31});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc1b50a6c6dd317adc9") }
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":39});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc3b50a6c6dd317adca") }
> db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":41});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc5b50a6c6dd317adcb") }
> db.multiUpdateDemo.insertOne({"ClientName":"David","ClientAge":35});
{ "acknowledged" : true, "insertedId" : ObjectId("5cda5bc6b50a6c6dd317adcc") }
Hiển thị tất cả document:
> db.multiUpdateDemo.find().pretty();
Kết quả:
{ "_id" : ObjectId("5cda5bc0b50a6c6dd317adc8"), "ClientName" : "John", "ClientAge" : 29 }
{ "_id" : ObjectId("5cda5bc1b50a6c6dd317adc9"), "ClientName" : "Carol", "ClientAge" : 31 }
{ "_id" : ObjectId("5cda5bc3b50a6c6dd317adca"), "ClientName" : "John", "ClientAge" : 39 }
{ "_id" : ObjectId("5cda5bc5b50a6c6dd317adcb"), "ClientName" : "John", "ClientAge" : 41 }
{ "_id" : ObjectId("5cda5bc6b50a6c6dd317adcc"), "ClientName" : "David", "ClientAge" : 35 }
Truy vấn multi-update: cập nhật ClientAge = 34 cho tất cả document có ClientName = "John":
> db.multiUpdateDemo.update({'ClientName': 'John'}, {$set: {'ClientAge': 34}}, {multi: true});
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
Kiểm tra lại document:
> db.multiUpdateDemo.find().pretty();
Kết quả sau cập nhật (3 document John đều có Age = 34):
{ "_id" : ObjectId("5cda5bc0b50a6c6dd317adc8"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc1b50a6c6dd317adc9"), "ClientName" : "Carol", "ClientAge" : 31 }
{ "_id" : ObjectId("5cda5bc3b50a6c6dd317adca"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc5b50a6c6dd317adcb"), "ClientName" : "John", "ClientAge" : 34 }
{ "_id" : ObjectId("5cda5bc6b50a6c6dd317adcc"), "ClientName" : "David", "ClientAge" : 35 }