Database

db={"users":[{userId:"Id1",name:"abc"},{userId:"Id2",name:"efg"},{userId:"Id3",name:"lmn"},{userId:"Id4",name:"xyz"},{userId:"Id5",name:"xyz"}],"images":[{userId:"Id1",imageUrl:"url1",isFlaged:true},{userId:"Id1",imageUrl:"url2",isFlaged:false},{userId:"Id1",imageUrl:"url3",isFlaged:false},{userId:"Id2",imageUrl:"url4",isFlaged:true},{userId:"Id2",imageUrl:"url5",isFlaged:false},{userId:"Id3",imageUrl:"url6",isFlaged:false},{userId:"Id3",imageUrl:"url7",isFlaged:false},{userId:"Id4",imageUrl:"url8",isFlaged:false},{userId:"Id4",imageUrl:"url9",isFlaged:false}]}

Query

db.users.aggregate([{$lookup:{from:"images",let:{userId:"$userId"},pipeline:[{$match:{$expr:{$eq:["$$userId","$userId"]}}},{$project:{_id:0,imageUrl:1,isFlaged:1}}],as:"image"}},{$match:{image:{$ne:[]},"image.isFlaged":{$ne:true}}},{$limit:10},{$project:{userId:1,image:1}}])

Result