Database

db={users:[{_id:1,username:"mark"},{_id:2,username:"leon"},{_id:3,username:"leontin"}],data:[{_id:ObjectId("6675309f82bdfbe3b00febfa"),user:1,provider:1,message:"94451 Laos Sweden Iran"},{_id:ObjectId("6675309f82bdfbe3b00febfb"),user:2,provider:3,message:"message 22222"},{_id:ObjectId("6675309f82bdfbe3b00febfc"),user:3,provider:39,message:"message 3333"}],providers:[{_id:1,name:"prov1"},{_id:2,name:"prov2"},{_id:3,name:"prov3"},{_id:39,name:"prov39"}],meta:[{"by":"steevej","at":"gmail.com","for":"https://www.mongodb.com/community/forums"}]}

Query

db.data.aggregate([{"$lookup":{"from":"users","localField":"user","foreignField":"_id","as":"user_info","pipeline":[{$match:{$expr:{$regexMatch:{input:"$username",regex:"^leo",options:"i"}}}}]}},{$match:{"user_info.0":{$exists:true}}},{"$lookup":{"from":"providers","localField":"provider","foreignField":"_id","as":"provider_info","pipeline":[{$match:{$expr:{$regexMatch:{input:"$name",regex:"^prov3",options:"i"}}}}]}},{$match:{"provider_info.0":{$exists:true}}}])

Result