Database

[{"_id":{workhour:1},totalChats:156},{"_id":{workhour:0},totalChats:36}]

Query

db.collection.aggregate([{$group:{_id:"",docs:{$push:{workhour:"$_id.workhour",totalChats:"$totalChats"}},totalChats:{$sum:"$totalChats"}}},{$project:{_id:0,totalChats:1,data:{$arrayToObject:{$map:{input:"$docs",in:{k:{$concat:["workhour",{$toString:"$$this.workhour"}]},v:{$multiply:[{$divide:["$$this.totalChats","$totalChats"]},100]}}}}}}},{$replaceRoot:{newRoot:{$mergeObjects:["$data",{totalChats:"$totalChats"}]}}}])

Result