Database
db={collA:[{_id:"001",name:"A",day:"sun"},{_id:"002",name:"B",day:"Mon"},{_id:"003",name:"C",day:"Fri"}],collB:[{_id:201,classNames:{A:{student:true},B:{student:true}}},{_id:202,classNames:{A:{student:false},B:{student:true}}}]}
Query
db.collA.aggregate([{$lookup:{from:"collB",let:{name:"$name"},pipeline:[{$project:{classNames:{$filter:{input:{$objectToArray:"$classNames"},cond:{$eq:["$$this.k","$$name"]}}}}},{$match:{"classNames.0":{$exists:true}}},{$project:{isStudent:{$first:"$classNames.v.student"}}}],as:"classes"}}])