Javascript 通过一个路由将多个mongo DB查询的结果发送到我的视图

Javascript 通过一个路由将多个mongo DB查询的结果发送到我的视图,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我尝试使用简单的mongo db查询从数据库中获取两组数据。由于我使用2个查询,那么如何将这两个结果传递给视图?我当前收到一个内部服务器错误。我希望能够显示完整的监护人列表,然后显示他们在一个范围内的人数 多谢各位 这是我的密码: //show guardians router.get('/guardians', middleware.isAdmin, function (req, res) { //ShOW ADMIN ALL guardians User.find({ isA

我尝试使用简单的mongo db查询从数据库中获取两组数据。由于我使用2个查询,那么如何将这两个结果传递给视图?我当前收到一个内部服务器错误。我希望能够显示完整的监护人列表,然后显示他们在一个范围内的人数

多谢各位

这是我的密码:

//show guardians
router.get('/guardians', middleware.isAdmin, function (req, res) {
    //ShOW ADMIN ALL guardians
    User.find({ isAdmin: false }, function (err, guardian) {
        if (err) {
            console.log(err);
        } else {
            res.render('guardians', { guardian: guardian, currentUser: req.user });
        }
    });
    
    //Count all guardians
    User.countDocuments({isAdmin: false}, function (err, result) {
        if (err) {
            res.send(err);
        } else {
            var allGuardians = result;
            
            res.render('guardians', { allGuardians: allGuardians });
        }
    });
});
您可以这样做:


router.get('/guardians', middleware.isAdmin, function (req, res) {
    //ShOW ADMIN ALL guardians

    let prom1 = User.find({ isAdmin: false })
    
    //Count all guardians
   let prom2 =  User.countDocuments({isAdmin: false});

   Promise.all([prom1, prom2]).then(result => {
      // do your things 
      //results will be array and you can get 
      //response of prom1 in result[0]
      //response of prom1 in result[1]
       //pass the data to view
   }).catch(err => {
//handle your error here
     console.log(`Error : ${err}`);
   })
            
});


谢谢,设法从prom2获取结果,我无法获取PROM1,尽管我得到以下错误:错误:TypeError[ERR\u INVALID\u ARG\u TYPE]:“path”参数必须是string类型。接收类型对象,如何将对象转换为字符串?JSON.stringify(发送对象);它会将它转换为字符串。这是我做的,但我仍然得到相同的错误var guarders=JSON.stringify(结果[0]);var allguarders=JSON.stringify(结果[1]);控制台日志(所有监护人);控制台日志(监护人);res.render({currentUser:req.user,guarders:guarders,allguarders:allguarders})`我知道我做错了什么我忘了进入“守护者”视图