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 ] } } }