Puoi usare:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Crediti per codice forEach:MongoDB:aggiornamento di documenti utilizzando i dati dello stesso documento)
Ciò che farà è solo modificare il numero di voci specificate. Quindi, se vuoi aggiungere un campo chiamato "newField" con valore 1 solo a metà delle tue voci all'interno di "collection", ad esempio, puoi inserire
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Se poi vuoi fare in modo che anche l'altra metà abbia "newField" ma con valore 2, puoi fare un aggiornamento a condizione che newField non esista:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );