Sie haben expenseAmount
verloren Feld während der Projektionsphase. Einfach hinzufügen:
{$project : {
month : {$month : "$entryTime"},
year : {$year : "$entryTime"},
expenseAmount : 1
}},
Beachten Sie, dass, wenn das Feld im Dokument nicht vorhanden ist, $sum
gibt 0 zurück.
Beachten Sie auch, dass es einen weiteren Aggregationsoperator gibt, der wie erwartet funktioniert – $addFields
. Es fügt dem Dokument neue Felder hinzu und behält alle vorhandenen Felder aus dem Eingabedokument bei. Aber in diesem Fall brauchen Sie nur das Feld 'SpessAmount'