Database

[{"login_Id":"c","name":"Abhishek Soni","location":"BLAHBLAH","work":[{"date":ISODate("2014-01-01"),"total_time":100,},{"date":ISODate("2014-09-02"),"total_time":100,},{"date":ISODate("2014-01-01"),"total_time":10,},]}]

Query

db.collection.aggregate([{$unwind:"$work"},{$match:{"work.date":{$type:"date"}}},{"$group":{"_id":{date:{"$dayOfMonth":"$work.date"},},"time":{"$sum":"$work.total_time"},login_Id:{$first:"$login_Id"}}},{"$group":{"_id":"$login_Id",data:{$push:{k:{$toString:"$_id.date"},v:"$time"}}}},{$project:{work:{$arrayToObject:"$data",},_id:0,"login_id":"$_id"}}])

Result