如果我没有当月的数据,则出现以下错误
无法读取未定义的属性'total'
我尝试过的东西
$group: { _id: null,
total: { $sum:{ $cond : [ {$eq : [ "$cost", undefined ]} , 0,'$cost'] }}
}
下面是我当前的代码
var currentDate = new Date();
var currMonth = currentDate.getMonth()+1;
Spending.aggregate([
{ $project: { month: { $month: '$date' }, cost: true } },
{ $match: { month: currMonth } },
{ $group: {
_id: null,
total: { $sum: '$cost'}
}
}
]).exec().then(result => {
console.log(result);
res.status(200).render('index', { total: result });
})
.catch(err => {
console.log(err);
res.status(500).json(err);
});
例如,如果我的数据库中有此条目1
{
日期:2019-05-10,
费用:10
}
在这种情况下,如果currMonth为 05 ,则总计为 10
现在,如果currMonth是除 5 以外的任何其他值,它将给出
上面的错误,而预期输出为 0