Você perdeu
expenseAmount
campo durante a fase de projeção. Basta adicioná-lo: {$project : {
month : {$month : "$entryTime"},
year : {$year : "$entryTime"},
expenseAmount : 1
}},
Observe que, se o campo não existir no documento,
$sum
retorna 0. Observe também que há outro operador de agregação que funciona como você esperava -
$addFields
. Ele adiciona novos campos ao documento e preserva todos os campos existentes do documento de entrada. Mas, neste caso, você precisa apenas do campo valorDaDespesa