MongoDB:如何更新一个字段上的每个文档?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (32)

我有一个收集的名字foo假设一下。

每一个实例foo有一个名为lastLookedAt的字段,它是一个UNIX时间戳。我希望能够通过MongoDB客户机,并将所有现有文档(其中大约20,000个)的时间戳设置为当前时间戳。

处理这件事最好的方法是什么?

提问于
用户回答回答于

在MONGO shell中,与任何MongoDB客户端:

*MongoDB>=3.2:

db.foo.updateMany({}, {$set: {lastLookedAt: Date.now() / 1000}})

*MongoDB>=2.2:

db.foo.update({}, {$set: {lastLookedAt: Date.now() / 1000}}, { multi: true })

*MongoDB<2.2:

db.foo.update({}, {$set: {lastLookedAt: Date.now() / 1000}}, false, true)

用户回答回答于

        Model.update({
            'type': "newuser"
        }, {
            $set: {
                email: "abc@gmail.com",
                phoneNumber:"0123456789"
            }
        }, {
            multi: true
        },
        function(err, result) {
            console.log(result);
            console.log(err);
        })  

扫码关注云+社区