小编pse*_*pse的帖子

优化异步查询 nodeJs

我正在开发一个拥有超过 25k 个用户的项目,每次为 创build 任何记录时Oppurtinity module,它都会执行此函数,该函数在 mongodb 中为每个用户插入通知详细信息,问题是它用完了 cpu 并且不让任何其他 API 来产生结果,直到这个异步结束它会占用时间,同时服务器不加载任何其他数据/它给出延迟响应。

  1. 节点- v10.15.3
  2. MongoDB 外壳版本 v4.0.17
  3. 服务器=Windows=Memory-8GB
  4. 中央处理器 2.70GHz speed

我想知道,这里有什么问题,是代码吗,如果是,我该如何优化它?

async.eachSeries(users, (eachuser, next) => {
     db.notifications.find({user_id:eachuser._id},function(errr,opp_noti){
        if(opp_noti.length != 0){
          db.notifications.update( { user_id:eachuser._id},{$push:{oppurtunity:oppurtunity_id}},function(errr,result){
            })
        }else{
        db.notifications.insert({user_id:eachuser._id,oppurtunity:[oppurtunity_id]},function(errr,result){
         })
        }
       })
    next();
})
Run Code Online (Sandbox Code Playgroud)

optimization mongodb node.js async-await

5
推荐指数
1
解决办法
111
查看次数

标签 统计

async-await ×1

mongodb ×1

node.js ×1

optimization ×1