Можете да използвате:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Кредити за forEach код:MongoDB:Актуализиране на документи с помощта на данни от същия документ)
Това ще направи само промяна на броя на записите, които сте посочили. Така че, ако искате да добавите поле, наречено "newField" със стойност 1 само към половината от вашите записи в "collection", например, можете да поставите
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Ако след това искате да направите и другата половина да има "newField", но със стойност 2, можете да направите актуализация с условието, че newField не съществува:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );