db.collection.update()所有文档

Jua*_*blo 20 rename mongodb

我尝试在一个集合的所有文档中重命名一个字段

db.coll.update({},{ $rename: {'originField':'newField'} });
Run Code Online (Sandbox Code Playgroud)

但只有一个文件被改变了,为什么?

Sam*_*aye 46

默认情况下,MongoDB中的所有更新都是单数的.您必须在命令中添加第三个选项以进行:

db.coll.update({},{ $rename: {'originField':'newField'} }, {multi:true});
Run Code Online (Sandbox Code Playgroud)

如果您使用的是3.2及以上版本,则可以使用updateMany():

db.coll.updateMany({}, {$rename: {'originField': "newField"}})
Run Code Online (Sandbox Code Playgroud)