Straciłeś expenseAmount
pole na etapie projekcji. Po prostu dodaj to:
{$project : {
month : {$month : "$entryTime"},
year : {$year : "$entryTime"},
expenseAmount : 1
}},
Zauważ, że jeśli pole nie istnieje w dokumencie, to $sum
zwraca 0.
Należy również pamiętać, że istnieje inny operator agregacji, który działa zgodnie z oczekiwaniami — $addFields
. Dodaje nowe pola do dokumentu i zachowuje wszystkie istniejące pola z dokumentu wejściowego. Ale w tym przypadku potrzebujesz tylko pola wydatków na kwotę