Database

db={"User":[{_id:"1234",name:"Jacky",image:"",city:"Da Nang",address:[{index:1,district_id:"12345"},{index:2,district_id:"123456"},{index:3,district_id:"1234567"}]},{_id:"5678",name:"chan",image:"",city:"Da Nang abc",address:[{index:1,district_id:"123455"},{index:2,district_id:"123458"},{index:3,district_id:"1234561"}]},{_id:"0000",name:"J-C",image:"",city:"Da Nang JC",address:[{index:11,district_id:"123455"},{index:2,district_id:"123458"},{index:3,district_id:"1234561"}]}],"District":[{_id:"12345",name:"Hai Chau",code:12},{_id:"123455",name:"Lien CHieu",code:13},{_id:"1234567",name:"Cam Le",code:14},{_id:"12345678",name:"Son Tra",code:15}]}

Query

db.District.aggregate([{$match:{name:"Lien CHieu"}},{$lookup:{from:"User",let:{id:"$_id"},pipeline:[{$match:{$expr:{$in:["$$id","$address.district_id"]}}},{$addFields:{mappingField:{$map:{input:"$address",as:"each",in:{$and:[{$gt:["$$each.index",1]},{$eq:["$$id","$$each.district_id"]}]}}}}},{$match:{mappingField:true}},{$project:{mappingField:0}}],as:"userdata"}}])

Result