mongodb $ sum только положительные числа - PullRequest
1 голос
/ 03 августа 2020

- это их способ суммировать только положительные числа и избегать отрицательных в моем агрегированном запросе MongoDB, т.е.

aggregate([
      {
        $match: { },
      },
      { $group: { _id: '$id',  total: { $sum: '$amount' } } },
    ])

1 Ответ

2 голосов
/ 03 августа 2020

Вы можете использовать оператор $ cond и просто $sum 0, если число отрицательное:

{ $group: { _id: '$id',  total: { $sum: { $cond: [ { $gt: [ '$amount', 0 ] }, '$amount', 0 ]  } } } }
...