Anda telah kehilangan expenseAmount
lapangan selama tahap proyeksi. Cukup tambahkan:
{$project : {
month : {$month : "$entryTime"},
year : {$year : "$entryTime"},
expenseAmount : 1
}},
Perhatikan bahwa jika bidang tidak ada dalam dokumen, maka $sum
mengembalikan 0.
Perhatikan juga bahwa ada operator agregasi lain yang bekerja seperti yang Anda harapkan - $addFields
. Itu menambahkan bidang baru ke dokumen dan mempertahankan semua bidang yang ada dari dokumen input. Tetapi dalam hal ini Anda hanya memerlukan bidang biayaAmount