Подтвердить что ты не робот

Db.collection.update() все документы

Я пытаюсь переименовать одно поле во всех документах коллекции,

db.coll.update({},{ $rename: {'originField':'newField'} });

но изменяется только один документ, почему?

4b9b3361

Ответ 1

Все обновления в MongoDB по умолчанию являются единственными. Вы должны добавить третий вариант своей команды, чтобы сделать:

db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});

Или, как отметил @totymedli, если вы используете 3.2 и выше, вы можете использовать updateMany(): MongoDB: обновлять каждый документ в одном поле

Ответ 2

db.collectionname.update( { "field" : "oldvalue" }, { $set:{ "field" : "newvalue" } }, { multi : true } );