Агрегация Мангуста: как отобразить результат агрегирования с помощью ejs

#node.js #mongodb #mongoose #ejs

#node.js #mongodb #mongoose #ejs

Вопрос:

Как я могу получить результат агрегации мангуста и отобразить его с помощью ejs?

Это мой код:

 Record.aggregate(
    [
        {
        $group: 
        {
            _id: { month: { $month: "$date"}, year: { $year: "$date"} },
            totalExpense: { $sum: "$amountExpense"},
            totalIncome: { $sum: "$amountIncome"},
            count: { $sum: 1 }
        }
       },
       { "$project": {
        "total": { "$subtract": [ "$totalIncome", "$totalExpense" ] }
     }},
     {
       $out: "total"
     }     
    ]), function(err, results) {
      console.log(results);
      res.json(results);
  }
  

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

1. Разве вы не должны использовать res.render() вместо этого?

2. Приведенный выше комментарий — это в основном то, что вы хотите, однако вы также не должны использовать $out . Этот этап конвейера перенаправляет ВСЕ выходные данные в именованную коллекцию. Таким results образом, в вашей функции обратного вызова ничего не будет содержаться, пока используется этот этап конвейера.