Database

db={candidate:[{name:"a",_id:ObjectId("5a934e000102030405000009"),appliedJobs:[{job:ObjectId("5a934e000102030405000000"),date:ISODate("2022-09-15T10:00:00Z")},{job:ObjectId("5a934e000102030405000001"),date:ISODate("2020-09-15T10:00:00Z")},{job:ObjectId("5a934e000102030405000000"),date:ISODate("2021-09-15T10:00:00Z")},]},{name:"b",_id:ObjectId("5a934e000102030405000008"),appliedJobs:[{job:ObjectId("5a934e000102030405000002"),date:ISODate("2020-09-16T10:00:00Z")},{job:ObjectId("5a934e000102030405000000"),date:ISODate("2021-09-17T10:00:00Z")},]}],JobPost:[{_id:ObjectId("5a934e000102030405000000"),companyName:"Facebook",},{_id:ObjectId("5a934e000102030405000001"),companyName:"Google",},{_id:ObjectId("5a934e000102030405000002"),companyName:"Paypal",}]}

Query

db.candidate.aggregate([{$match:{appliedJobs:{$exists:true}}},{$unwind:"$appliedJobs"},{$lookup:{from:"JobPost",localField:"appliedJobs.job",foreignField:"_id",as:"appliedJobs"}},{$project:{companyName:{$first:"$appliedJobs.companyName"}}},{$group:{_id:{candidate:"$_id",company:"$companyName"},count:{$sum:1}}},{$group:{_id:"$_id.candidate",appliedJobs:{$push:{k:"$_id.company",v:"$count"}}}},{$project:{appliedJobs:{$arrayToObject:"$appliedJobs"}}}])

Result