我知道这里有人问了几个问题,但没有人给我正确的答案。所以基本上我有像这里这样的架构
const cashFlowSchema = new Schema({
date: { type: Date, default: Date.now },
type: { type: String, required: true },
category: { type: String, required: true },
amount: { type: Number, required: true },
description: String
});
然后我尝试用这样的方式创建获取sum金额aggregate
CashFlow.aggregate([{
$group: {
_id: null,
balance: { $sum: "$amount" }
}
}], function(err, result) {
if (err) {
console.log(err);
return;
}
console.log(result);
});
并给出这样的结果
[ { _id: null, balance: 0 } ]
但如果我尝试使用 Robo3T(以前的 Robomongo),它会给我正确的答案。我使用 mongodb 版本3.4。之前谢谢你。
更新
我找到了答案,所以这是我的愚蠢错误。在猫鼬中启用debug模式后,它显示我与集合的连接错误。修复后,我得到了正确的结果。我会尽快删除这个问题,谢谢大家。