Du kan använda:
db.collection.find().limit(NUMBER_OF_ITEMS_YOU_WANT_TO_UPDATE).forEach(
function (e) {
e.fieldToChange = "blah";
....
db.collection.save(e);
}
);
(Krediter för varje kod:MongoDB:Uppdatering av dokument med data från samma dokument)
Vad detta kommer att göra är att bara ändra antalet poster du anger. Så om du vill lägga till ett fält som heter "newField" med värde 1 till endast hälften av dina poster i "samling", till exempel, kan du lägga in
db.collection.find().limit(db.collection.count() / 2).forEach(
function (e) {
e.newField = 1;
db.collection.save(e);
}
);
Om du sedan vill att den andra halvan också ska ha "newField" men med värde 2, kan du göra en uppdatering med villkoret att newField inte existerar:
db.collection.update( { newField : { $exists : false } }, { $set : { newField : 2 } }, {multi : true} );