Bạn có thể sử dụng:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Tín dụng cho mỗi mã forEach:MongoDB:Cập nhật tài liệu bằng cách sử dụng dữ liệu từ cùng một tài liệu)
Điều này sẽ làm chỉ là thay đổi số lượng mục nhập mà bạn chỉ định. Vì vậy, nếu bạn muốn thêm trường có tên "newField" có giá trị 1 vào chỉ một nửa số mục nhập bên trong "bộ sưu tập", chẳng hạn, bạn có thể đưa vào
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Nếu sau đó bạn muốn đặt nửa kia cũng có "newField" nhưng với giá trị 2, bạn có thể cập nhật với điều kiện newField không tồn tại:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );