我正在使用,Mongo 3.4.0
$rename 运算符更新字段的名称,并具有以下形式:
{$rename: { <field1>: <newName1>, <field2>: <newName2>, ... } }
例如
db.getCollection('user').update( { _id: 1 }, { $rename: { 'fname': 'FirstName', 'lname': 'LastName' } } )
新字段名称必须与现有字段名称不同。要在嵌入文档中指定 a,请使用点表示法。
此操作将字段 nmae 重命名为集合中所有文档的名称:
db.getCollection('user').updateMany( {}, { $rename: { "add": "Address" } } )
db.getCollection('user').update({}, {$rename:{"name.first":"name.FirstName"}}, false, true);
在上面的方法中,false、true 是:{ upsert:false, multi:true }。要更新所有记录,您需要 multi:true。
重命名嵌入文档中的字段
db.getCollection('user').update( { _id: 1 }, { $rename: { "name.first": "name.fname" } } )
使用链接:https://docs.mongodb.com/manual/reference/operator/update/rename/