Database

db={persons:[{"_id":ObjectId("5f3258cfbaaccedaa5dd2c96"),"gender":"male","name":{"title":"mr","first":"victor","last":"pedersen"},"location":{"street":"2156 stenbjergvej","city":"billum","state":"nordjylland","postcode":56649},"email":"victor.pedersen@example.com"}],persondetails:[{"_id":ObjectId("5f3a91e68b1c26e68f9ed3ad"),"country":"India","personid":ObjectId("5f3258cfbaaccedaa5dd2c96")}],countrydetails:[{"_id":ObjectId("5f3fc2aa9532398a037ff7ae"),"country":"India","continent":"Asia"}]}

Query

db.persons.aggregate([{"$match":{"$expr":{"$eq":["$_id",{"$toObjectId":"5f3258cfbaaccedaa5dd2c96"}]}}},{$lookup:{from:"persondetails",let:{person_id:"$_id"},pipeline:[{$match:{$expr:{$eq:["$personid","$$person_id"]}}},{$lookup:{from:"countrydetails",localField:"country",foreignField:"country",as:"contrydetails",}}],as:"persondetail"}}])

Result