Вы можете использовать:
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} );