Database

db={"shops":[{"name":"Shop A","countries":[{"name":"Germany","cities":[{"name":"Berlin","districts":[{"name":"First District","distributor_uid":123}]}]}]}],"distributors":[{"uid":123,"name":"Peter","fruits":["Banana","Apple"]}]}

Query

db.shops.aggregate([{$lookup:{from:"distributors",localField:"countries.cities.districts.distributor_uid",foreignField:"uid",as:"distributors"}},{$set:{countries:{$map:{input:"$countries",as:"country",in:{$mergeObjects:["$$country",{cities:{$map:{input:"$$country.cities",as:"city",in:{$mergeObjects:["$$city",{districts:{$map:{input:"$$city.districts",as:"district",in:{$mergeObjects:["$$district",{distributor:{$first:{$filter:{input:"$distributors",cond:{$eq:["$$this.uid","$$district.distributor_uid"]}}}}}]}}}}]}}}}]}}}}},{$unset:["countries.cities.districts.distributor_uid","countries.cities.districts.distributor._id"]}])

Result