我需要做一些MongoDB查询以返回请求的结果。 这是我的代码:
var getFzAmount = function (req, res, next) {
var id = req.params.id;
var total = 0;
var error = function (err) {
next(err);
log.error(err);
};
var query = {
client: id
};
ordersRepository.customQuery(db, query, function (orders) {
_.forEach(orders, function (order) {
var query = {order: order._id};
billRepository.customQuery(db, query, function (bill) {
if (bill) {
if (bill.serie = 'FZ') {
total += bill.totalWithTaxe;
}
}
}, error);
});
res.send(total);
}, error);
};
首先,我得到所有"命令"对于某些查询,然后,我在订单中执行foreach,查找是否在bill集合中为迭代器对象位置存在文档,如果匹配条件(object.serie =" FZ"),则添加变量并返回它。
由于_.each其异步res.send函数内的函数在所有查询完成之前完成,我该怎么办?