Database
db={"clicks":[{session_id:2,time:12},{session_id:2,time:12.1},{session_id:3,time:13}],"sessions":[{session_id:1,start_time:1,clicks:1},{session_id:2,start_time:2,clicks:1}]}
Query
db.clicks.aggregate([{$group:{_id:"$session_id",start_time:{$min:"$time"},clicks:{$sum:1}}},{$project:{_id:0,session_id:"$_id",start_time:1,clicks:1}},{"$merge":{"into":"sessions","let":{delta:"$clicks"},"on":"session_id","whenMatched":[{$set:{clicks:{$add:["$clicks","$$delta"]}}}],"whenNotMatched":"insert"}}])