[英]Sending results from multiple mongo DB queries in one route to my view
我正在尝试使用简单的 mongo db 查询从我的数据库中获取 2 组数据。 由于我使用 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}`);
})
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.