U kunt gebruiken:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Credits voor forEach-code:MongoDB:documenten bijwerken met gegevens uit hetzelfde document)
Wat dit zal doen, is alleen het aantal vermeldingen dat u opgeeft, wijzigen. Dus als u een veld met de naam "newField" met waarde 1 wilt toevoegen aan slechts de helft van uw invoer in "collection", bijvoorbeeld, kunt u
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Als je dan de andere helft ook "newField" wilt maken maar met waarde 2, kun je een update doen met de voorwaarde dat newField niet bestaat:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );