如果我没有任何价值,控制台总是打印出未定义的错误...
收藏名称:帖子
_id,
id,
name,
mobile,
price,
create_at
db.posts.aggregate([
{
$match: {
created_at: {$gte: start, $lt: end},
mobile: p_mobile,
id:p_id
}
},
{
$group: { _id : null, sum : { $sum: "$price" } }
}
],function(err, result){
if (err) throws err
if(result){
console.dir(result);
console.log("object sum : " + result[0].sum);
return res.send(result);
}
});
一旦我有普通文件,就可以了。但是,当条件不匹配时,它会打印出“ uncaughtException TypeError:无法读取未定义的属性'sum'” ...
为什么节点不识别求和字段?
我在项目中遇到了同样的问题,这是我如何解决的问题。
const rentalsCount = await Rental.estimatedDocumentCount();
let totalFee = 0;
if (rentalsCount > 0)
totalFee = await getTotalRevenue();
const rentals = await Rental.find().sort('-dateOut');
res.send({ totalFee, rentals });
如果没有文档,结果将看起来像这样
{
"totalFee": 0,
"rentals": []
}
我希望能对某人有所帮助。