将MongoDB中的所有数据的一个字段值分配给另一个字段。

huangapple go评论61阅读模式
英文:

Assign a field value to another field for all data in MongoDB

问题

在我对数据进行批量修改时,出现了这个问题。

User.find().then((r) => {
    console.log(r)
    r.forEach((elem) => {
        User.update(
            {
                _id: elem._id
            },
            {
                "$set": {
                    "openapi": elem.unionid
                }
            }
        );
    })
});

我使用了上述方法,但数据没有发生变化。附注:我已经检查了数据。

英文:

When I was making bulk modifications to my data, this problem occurred.

User.find().then((r) => {
        console.log(r)
        r.forEach((elem) => {
            User.update(
                {
                    _id: elem._id
                },
                {
                    "$set": {
                        "openapi": elem.unionid
                    }
                }
            );
        })
    });

I used the above method, but the data did not change. PS: I have checked the data.

答案1

得分: 1

一种简单的方法是使用管道更新:

User.updateMany(
  {},
  [{$set: {openapi: "$unionid"}}]
)

示例 playground上查看它的工作方式。

英文:

A simple way is to use update with pipeline:

User.updateMany(
  {},
  [{$set: {openapi: "$unionid"}}]
)

See how it works on the playground example

huangapple
  • 本文由 发表于 2023年6月26日 00:54:38
  • 转载请务必保留本文链接:https://go.coder-hub.com/76551511.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定