MongoDB:使用另一个字段中的值更新字段

时间:2020-02-28 15:03:43

标签: mongodb mongodb-query

使用Mongo Shell,我试图为集合中的所有文档添加一个字段,该字段的值与现有字段的值相同。假设我们有两个文档:

{
   'foo': 'str1'
}

{
   'foo': 'str2'
}

我想插入一个新字段'foo_new',将其各自的值'foo'作为其值,以便文档成为

{
   'foo': 'str1'
   'foo_new': 'str1'
}

{
   'foo': 'str2'
   'foo_new': 'str2'
}

我用来在Mongo shell中更新集合(“ coll”说)的命令是

db.coll.update({}, {$set: {'foo_new': '$foo'}}, {multi: true})

运行此命令的结果是两个更新的文档

{
   'foo': 'str1'
   'foo_new': '$foo'
}

{
   'foo': 'str2'
   'foo_new': '$foo'
}

即由于某些原因,'$foo'被解释为文字。

1 个答案:

答案 0 :(得分:0)

尝试以下代码段:

db.<collection>.update({}, [{$set: {'foo_new': '$foo'}}], {"multi": true})

希望有帮助!