Database

db={persons:[{"_id":ObjectId("5f3258cfbaaccedaa5dd2c96"),"gender":"male","name":{"title":"mr","first":"victor","last":"pedersen"}},{"_id":ObjectId("5f3258cfbaaccedaa5dd2c97"),"gender":"male","name":{"title":"mr","first":"jackie","last":"chan"}}],persondetails:[{"_id":ObjectId("5f3a91e68b1c26e68f9ed3ad"),"country":"India","personid":ObjectId("5f3258cfbaaccedaa5dd2c96")}]}

Query

db.persons.aggregate([{"$match":{"$or":[{"$expr":{"$eq":["$gender","male"]}}]}},{"$project":{"_id":"$_id","fname":"$name.first","lname":"$name.last","dobage":"$dob.age","registeredAge":"$registered.age"}},{"$lookup":{"from":"persondetails","let":{person_id:"$_id"},"pipeline":[{$match:{$expr:{$and:[{$eq:["$$person_id","$personid"]},{$eq:["$country","India"]},]}}}],"as":"persondetail"}},{$match:{persondetail:{$ne:[]}}},{$facet:{totalCount:[{$count:"value"}],data:[{$sort:{"name.first":1}},]}}])

Result