Database

[{video_title:"user 1 first video",user_id:1},{video_title:"user 1 second video",user_id:1},{video_title:"user 1 third video",user_id:1},{video_title:"user 1 fourth video",user_id:1},{video_title:"user 1 fifth video",user_id:1},{video_title:"user 1 sixth video",user_id:1},{video_title:"user 2 first video",user_id:2}]

Query

db.collection.aggregate([{$sort:{_id:-1}},{$group:{_id:"$user_id",videos:{$push:"$$ROOT"}}},{$project:{_id:0,user_id:"$_id",videos:{$slice:["$videos",5]}}}])

Result