Database
[{id:"1",duration:"07:30:00"},{id:"1",duration:"07:30:00"},{id:"2",duration:"07:30:00"}]
Query
db.collection.aggregate([{$addFields:{duration:{$let:{vars:{time:{$split:["$duration",":"]}},in:{$add:[{$toInt:{$arrayElemAt:["$$time",0]}},{$cond:[{$eq:[{$arrayElemAt:["$$time",1]},"00"]},0,0.5]}]}}}}},{$group:{_id:"$id",duration:{$sum:"$duration"}}}])