mongodb在修改数据时,使用原有值更新内容

Elysian
2022-07-06 / 0 评论 / 259 阅读 / 正在检测是否收录...

其实需要时间的内容在其他数据库中很简单,例如mysql如下:
update news set click=click+1 where addtime>'2022-01-01';
但是,在mongodb中

  1. 查询了很多update的相关资料,在update方法中,没找到批量通过原有值修改的方法;(mongodb基础薄弱,可能最终还是因为我没找到,以后找到了补上)
  2. 最终使用的先查询出结果,然后forEach的方式处理了,具体如下:
db.集合名.find({这里可以写你的筛选条件}).forEach(
function(item){
    db.集合名.update(
        {"_id":item._id}, 
        {"$set":
            {"CreatedTime":new Date(item.CreatedTime.getTime() + 1*60*60000)}})
})

解释:

1、为什么不直接用 update 去查询并更新,还要分成两个步骤写?
对于这些数据,我是要在原有数据的基础上做修改,也就是【个性化】修改,直接使用update 的话,更新的字段数据都是一样的值

参考来源:https://blog.csdn.net/weixin_44282947/article/details/118583626

0

评论

博主关闭了所有页面的评论