MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDb Come aggregare per mese e anno

Hai perso expenseAmount campo durante la fase di proiezione. Basta aggiungerlo:

   {$project : { 
          month : {$month : "$entryTime"}, 
          year : {$year :  "$entryTime"},
          expenseAmount : 1
      }},

Nota che se il campo non esiste nel documento, allora $sum restituisce 0.

Tieni inoltre presente che esiste un altro operatore di aggregazione che funziona come previsto:$addFields . Aggiunge nuovi campi al documento e conserva tutti i campi esistenti dal documento di input. Ma in questo caso è necessario solo il campo importo Spesa