Se puede utilizar:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Créditos para el código forEach: MongoDB: Updating documents using data from the same document)
Lo que esto hará es sólo cambiar el número de entradas que se especifiquen. Así que si usted quiere añadir un campo llamado "Newfield" con un valor de 1 a sólo la mitad de las entradas dentro de "colección", por ejemplo, se puede poner en
db.collection.find().limit(db.collection.count()/2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Si a continuación desea hacer la otra mitad también tener "Newfield" pero con el valor 2, se puede hacer una actualización con la condición de que no existe Newfield:
db.collection.update({ newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true});
Para su información: Hay un billete abierto para esto (desde 2010, v1.6.0) https://jira.mongodb.org/browse/SERVER-1599 pero no está prevista para su lanzamiento en cualquier momento pronto. – zamnuts