【发布时间】:2018-04-27 17:40:39
【问题描述】:
我在 MongoDB 聚合管道中使用的其中一个步骤如下所示:
{
$group: {
"_id": "$customer._id",
"totalBalance": {
"$sum": "$transactions.amounts.balance"
}
}
}
这是按预期工作的。它总结了transactions.amounts.balance 的数值,并给出了总金额。
除此之外,我还想做的是确定在确定这个数字时使用了多少事务(即,确定给定的customer_id 有多少记录,其中transactions.amount.balance > 0。
我试过这样做:
{
$group: {
"_id": "$customer._id",
"totalOpenTransactions": {
"$sum": { "$transactions.amounts.balance" : $gt: 0 }
}
}
}
上述方法无效。所以我也尝试使用数组,如下所示:
{
$group: {
"_id": "$customer._id",
"totalOpenTransactions": {
"$sum": [{ "$transactions.amounts.balance" : $gt: 0 }]
}
}
}
也不行。
$sum可以这样用吗?还是我需要以不同的方式处理这个特定的聚合阶段?
【问题讨论】:
标签: javascript mongodb aggregation-framework