Database
[{"_id":"600331b3d84ac418877a0e5a","tasksPerformed":["5fffb180a477c4f78ad67331","5fffb18aa477c4f78ad67332"],"year":2003,eightHourDays:2,tenHourDays:3,twelveHourDays:4},{"_id":"600331dcd84ac418877a0e5c","tasksPerformed":["5fffb180a477c4f78ad67331"],"year":2004,eightHourDays:1,tenHourDays:1,twelveHourDays:1}]
Query
db.collection.aggregate([{$group:{_id:"$year",history:{$push:"$$ROOT"},totalHoursForYear:{$sum:{$add:[{$multiply:["$eightHourDays",8]},{$multiply:["$tenHourDays",10]},{$multiply:["$twelveHourDays",12]},]}},}},{$group:{_id:null,data:{$push:"$$ROOT"},total:{$sum:"$totalHoursForYear"}}},{"$unwind":"$data"},{"$addFields":{_id:"$data._id",history:"$data.history",totalHoursForYear:"$data.totalHoursForYear",_id:"$$REMOVE",data:"$$REMOVE"}}])