Database

db={video:[{_id:ObjectId("62b489664cbb9bc8c947f19f"),videoSource:"a",category:ObjectId("62b4890f4cbb9bc8c947e5ef"),viewers:70,},{_id:ObjectId("62b489664cbb9bc8c947f19a"),videoSource:"b",category:ObjectId("62b4890f4cbb9bc8c947e5ef"),viewers:22,},{_id:ObjectId("62b489664cbb9bc8c947f19b"),videoSource:"c",category:ObjectId("62b4890f4cbb9bc8c947e5ef"),viewers:12,},{_id:ObjectId("62b489664cbb9bc8c947f18b"),videoSource:"d",category:ObjectId("62b4890f4cbb9bc8c947e5ed"),viewers:13,},{_id:ObjectId("62b489664cbb9bc8c947f17b"),videoSource:"f",category:ObjectId("62b4890f4cbb9bc8c947e5ed"),viewers:75,}],category:[{"_id":ObjectId("62b4890f4cbb9bc8c947e5ef"),"name":"catA"},{"_id":ObjectId("62b4890f4cbb9bc8c947e5ed"),"name":"caTB",},{"_id":ObjectId("62b4890f4cbb9bc8c947e5ea"),"name":"caTC",},]}

Query

db.category.aggregate([{$lookup:{from:"video",let:{category_id:"$_id"},pipeline:[{$match:{$expr:{$eq:["$category","$$category_id"]}}},{$group:{_id:0,viewers:{$sum:"$viewers"}}}],as:"viewers"}},{$set:{viewers:{"$ifNull":[{$first:"$viewers.viewers"},0]}}},{$sort:{viewers:-1,_id:1}},{$skip:1},{$limit:2}])

Result