Sử dụng $push kết hợp update() với multi: true
Để thêm cùng một phần tử vào mảng của tất cả bản ghi trong collection, dùng update({}, { $push: { field: value } }, { multi: true }). Từ MongoDB 3.2+, dùng updateMany().
Dữ liệu mẫu
> db.demo747.insertMany([
{ CountryName: ["US", "IND"] },
{ CountryName: ["UK", "US"] },
{ CountryName: ["UK", "IND"] }
]);
Thêm "AUS" vào mảng CountryName của tất cả bản ghi
// Cách cũ
db.demo747.update(
{},
{ $push: { CountryName: "AUS" } },
{ multi: true }
);
// Cách hiện đại (MongoDB >= 3.2)
db.demo747.updateMany(
{},
{ $push: { CountryName: "AUS" } }
);
Kết quả
{ "_id": ObjectId("..."), "CountryName": ["US", "IND", "AUS"] }
{ "_id": ObjectId("..."), "CountryName": ["UK", "US", "AUS"] }
{ "_id": ObjectId("..."), "CountryName": ["UK", "IND", "AUS"] }
Mọi bản ghi đều có "AUS" thêm vào cuối mảng.