sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDb Hur man aggregerar efter månad och år

Du har förlorat expenseAmount fält under projekteringsstadiet. Lägg bara till det:

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

Observera att om fältet inte finns i dokumentet, $sum returnerar 0.

Observera också att det finns en annan aggregeringsoperatör som fungerar som du förväntade dig - $addFields . Den lägger till nya fält i dokumentet och bevarar alla befintliga fält från inmatningsdokumentet. Men i det här fallet behöver du bara fältet kostnadsbelopp



  1. Varför läggs ett _id med ObjectID till när man använder MongoDB:s $push för att lägga till nytt objekt i en array?

  2. findOne fungerar men får inte alla/hitta

  3. Hur kan jag implementera behörigheter på fältnivå för MongoDB?

  4. I Meteor.js, hur skulle jag få två utvecklingsprojekt att använda samma Mongo-instans?