Możesz użyć:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Kredyty dla kodu forEach:MongoDB:Aktualizacja dokumentów przy użyciu danych z tego samego dokumentu)
Spowoduje to zmianę tylko określonej liczby wpisów. Jeśli więc chcesz dodać pole o nazwie „newField” o wartości 1 tylko do połowy swoich wpisów w „collection”, możesz na przykład umieścić
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Jeśli chcesz, aby druga połowa również miała „newField”, ale z wartością 2, możesz wykonać aktualizację pod warunkiem, że newField nie istnieje:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );