从mongodb推入数组中查找数据

问题描述 投票:0回答:1

我正在尝试从集合文档中推送数据arrayList。如下面的代码所示,console.log和res.js(ArrayList)返回[] Null。请任何人帮助我。

var UserList = [];

gamebit.find({“ game_room”:req.body.game_room,“ game_status”:“ 1”},(错误,结果)=> {如果(错误){res.json(err);}

else{
 for(i=0;i<result.length;i++){
   tblregistration.findOne({"mobile":result[i].mobile},(errer,user)=>{
      if(user)
        {
        if(user.usertype=="D")
             {

            UserList.push(user);
             }

             else if(user.usertype=="N")
             {
              if (user.companyId != "outsite")
              {
              tblregistration.findOne({"referral_code":user.referral_codeby},(err,use)=>{
                   if(use)
                   {
                    UserList.push(use);


                   }
                else
                {
                  console.log(err);
                }


              });
               }

             }
             else{
              tblregistration.findOne({"companyId":user.companyId},(err,u)=>{
               distpersent+=distpersent+u.dpercentise;

               UserList.push(u);
            });
            }

          }
        });
      }


    }
});

console.log(UserList);

res.json(UserList);

输出空值[]

arrays node.js mongodb multithreading loops
1个回答
0
投票

您可以执行以下代码。

var UserList = [];
gamebit.find({ "game_room": req.body.game_room, "game_status": "1" }).exec((err, result) => {
    if (err) { res.json(err); } else {
        for (i = 0; i < result.length; i++) {
            tblregistration.find({ "mobile": result[i].mobile }).exec((errer, user) => {
                if (user) {
                    if (user.usertype == "D") {

                        UserList.push(user);
                    }

                    else if (user.usertype == "N") {
                        if (user.companyId != "outsite") {
                            tblregistration.find({ "referral_code": user.referral_codeby }).exec((err, use) => {
                                if (use) {
                                    UserList.push(use);
                                } else {
                                    console.log(err);
                                }
                            });
                        }
                    }
                    else {
                        tblregistration.find({ "companyId": user.companyId }).exec((err, u) => {
                            distpersent += distpersent + u.dpercentise;
                            UserList.push(u);
                        });
                    }
                }
            });
        }


    }
});
console.log(UserList);

res.json(UserList);
© www.soinside.com 2019 - 2024. All rights reserved.