Javascript 总和'$推动';MongoDB聚合中的数组
是否可以对Javascript 总和'$推动';MongoDB聚合中的数组,javascript,mongodb,mongodb-query,aggregation-framework,Javascript,Mongodb,Mongodb Query,Aggregation Framework,是否可以对$group阶段中的$push运算符返回的数组求和 { $group: { _id: '$randomId', fruitKind: '$fruitId', ..., ripeness: { $push: {$cond: [ { $eq: [ "$fruitComplexion", "ripe" ] }, 1, 0 ] }} } }, { $project : { _id: 1, totalRipeFruit : "$ri
$group
阶段中的$push
运算符返回的数组求和
{
$group: {
_id: '$randomId',
fruitKind: '$fruitId',
...,
ripeness: { $push: {$cond: [ { $eq: [ "$fruitComplexion", "ripe" ] }, 1, 0 ] }}
}
},
{
$project : {
_id: 1,
totalRipeFruit : "$ripeness",
}
}
现在,它只返回数组中的每个值:
比如说,
totalRipeFruit: Array[5] -> [0, 1, 1, 0, 1]
但是,我的目标是简化此操作以返回数组的和,例如(使用前面的示例):
似乎我是通过使用
$sum
和$add
操作符算出的:
ripeness: { $sum: { $add: {$cond: [ { $eq: [ "$fruitComplexion", "ripe" ] }, 1, 0 ] } } }
如果没有$add,它应该可以正常工作,并且只有使用$sum@anish对。谢谢你的反馈。
ripeness: { $sum: { $add: {$cond: [ { $eq: [ "$fruitComplexion", "ripe" ] }, 1, 0 ] } } }