使用 id 字段的值更新 mongodb 集合的所有字段

时间:2021-02-18 14:53:07

标签: mongodb mongodb-query

我有一个巨大的 mongodb 集合,想将其中一个字段更新为 id 字段的值。

我正在尝试的语法如下:

db.getCollection("products").updateMany(
{},     
{  $set: { ProductId: "$_id" }  },  
{})

然而,这将值设置为字符串“$_id”。如果我不加引号,我会收到一条错误消息:

<块引用>

2021-02-18T15:55:53.170+0100 E QUERY [js] ReferenceError: $_id is not defined :

1 个答案:

答案 0 :(得分:1)

嗨,您可以在 MongoDB 4.2+ 中实现这一点,实际上需要将第二个参数包装在一个数组中。 (刚学到新东西)

db.getCollection("products").updateMany(
    {},
    [
        {  $set: { ProductId: "$_id" }  }
    ]
)