MongoDB два $ mulitply в одной агрегации

#mongodb #mongodb-query #aggregation-framework #mongodb-charts

#mongodb #mongodb-запрос #агрегация-фреймворк #mongodb-диаграммы

Вопрос:

Привет, я хотел бы обратиться за помощью, если как я могу добиться того, чтобы общая сумма была умножена на 0,20 и была названа транзакцией.

Это моя текущая агрегация. См. Playground

Ответ №1:

Почему бы просто не добавить поле транзакции?

 db.collection.aggregate({
  $addFields: {
    "products": {
      $map: {
        input: "$products",
        as: "p",
        in: {
          "$mergeObjects": [
            {
              total: {
                $multiply: [
                  "$p.price",
                  "$p.quantity"
                ]
              },
              transactions: {
                $multiply: [
                  "$p.price",
                  "$p.quantity",
                  0.2
                ]
              }
            },
            "$p"
          ]
        }
      }
    }
  }
})
 

Комментарии:

1. Спасибо! не знал, что я могу умножить 3 значения.