MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDb So aggregieren Sie nach Monat und Jahr

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'