MongoDB 重命名 field/key

MongoDB renaming a field/key

我想更改 MongoDB 文档中的字段名称(只是字段名称而不是值)。该文档看起来像这样(如下)并且它在 user= Soham 的集合中只有一个文档:

{_id : ObjectId(xxxxxxxxxxxx),
 user : "Soham",
 age  : 29
}

现在我想将名为 'user' 的字段更改为 'name',但不更改字段的值。所以在 mongo shell 我写了下面的命令:

var soh = db.user.find({"user":"Soham"});
soh.name = soh.user;
delete soh.user;
db.user.update({"user":"Roshan"},soh);

当我 运行 更新命令时,它向我抛出错误。不确定我哪里出错了,因为我是 MongoDB 的新手。感谢任何形式的帮助。

使用 $rename 运算符。

因此,在 mongo shell 中,要更新单个文档:

db.user.update( { _id: ObjectId(xxxxxxxxxxxx) }, { $rename: { 'user': 'name'} } )

更新所有文件

db.user.updateMany( {}, {$rename: { "user": "name" } } )

有运算符$rename.

db.user.updateMany( {}, { $rename: { "user": "name" } } )