如何实现同时更新N条数据中的某字段,让其自增

发布于 2022-09-05 15:42:43 字数 274 浏览 7 评论 0

假设我查询到100条数据,每条数据中都有一个count字段(number类型),想让这100条数据的count字段全部自增,应该怎么做?

贴上我的代码:

       db.coll.update({
            someQuery: 'xxx'
        }, {$inc: {count: 1}}, false, true)

我这么做只能自增查询到的第一条,很困惑,望解答,感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉城メ夜风 2022-09-12 15:42:43

问题原因:update参数设置错误,导致它等同于updateOne,仅匹配第一条数据,因此仅自增第一条。
解决办法:
1.还是用update,{multi:true}激活multi。

db.coll.update({
    someQuery: 'xxx'
}, {$inc: {count: 1}}, {multi:true})

2.改用updateMany,去掉true选项,自增所有数据。

db.coll.updateMany({
    someQuery: 'xxx'
}, {$inc: {count: 1}})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文