Database

db={actions:[{"id":0,"action":"qwe","timestamp":ISODate("2022-11-20T23:59:59Z"),"user":"test"},{"id":1,"action":"zwe","timestamp":ISODate("2022-11-20T11:22:33Z"),"user":"test"},{"id":1,"action":"qwe","timestamp":ISODate("2022-11-20T11:22:33Z"),"user":"test"}],actions_score:[{"action":"qwe","score":5},{"action":"zwe","score":3},{"action":"qwe","score":5}]}

Query

db.actions.aggregate([{$match:{timestamp:{$gte:ISODate("2022-11-17T00:00:00Z"),$lte:ISODate("2022-11-20T23:59:59Z")}}},{$lookup:{from:"actions_score",localField:"action",foreignField:"action",as:"score"}},{$project:{user:1,_id:0,"action":1,"score":{$first:"$score.score"},"timestamp":1}},{$group:{_id:{user:"$user",action:"$action"},count:{$sum:1},total_score:{$sum:"$score"},"actions":{$addToSet:"$$ROOT"}}},{$group:{_id:"$_id.user","user":{$first:"$_id.user"},"actions":{$push:"$actions"},actions_total:{$push:{action:"$_id.action",count:"$count",total_score:"$total_score"}},total_score:{$sum:"$total_score"}}},{$set:{actions:{$reduce:{input:"$actions",initialValue:[],in:{$concatArrays:["$$value","$$this"]}}}}}])

Result