Vous avez perdu expenseAmount
champ pendant la phase de projection. Ajoutez-le simplement :
{$project : {
month : {$month : "$entryTime"},
year : {$year : "$entryTime"},
expenseAmount : 1
}},
Notez que si le champ n'existe pas dans le document, alors $sum
renvoie 0.
Notez également qu'il existe un autre opérateur d'agrégation qui fonctionne comme prévu - $addFields
. Il ajoute de nouveaux champs au document et préserve tous les champs existants du document d'entrée. Mais dans ce cas, vous n'avez besoin que du champ depenseAmount