Поиск элементов с дополнительными значениями в агрегации MongoDB

#node.js #mongodb #aggregation-framework

#node.js #mongodb #агрегация-фреймворк

Вопрос:

Мне нужно получить список элементов в коллекции. Обычно я использую:

 Transaction.find()
 

Результат:

 [
  {
    _id: 1283468346827863477,
    firstName: 'alex',
    amount: 23912
  },
  {
    _id: 1283468346827863477,
    firstName: 'alex',
    amount: 46456
  },
  // ...
]
 

Но мне нужно получить больше значений из базы данных. Я не знаю, как использовать агрегацию.
Мне нужны эти данные:

 {
  income: <Sum of amount>,
  items: [
    {
        _id: 1283468346827863477,
      firstName: 'alex',
      amount: 23912
    },
    {
        _id: 1283468346827863477,
      firstName: 'alex',
      amount: 46456
    },
    // ...
  ]
}
 

Я написал этот код, но результат не тот, который я ожидал:

 const trxs = await Transaction.aggregate([
    {
      $match: findObj,
    },

    {
      $group: {
        _id: null,
        total: {
          $sum: '$amount',
        },
      },
    },
  ]);
 

Мне также нужны все поля определенной коллекции.

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

1. Добавить items: {$push: "$$ROOT"} в общее поле

2. @WernfriedDomscheit Большое вам спасибо.