Database

db={"Users":[{"_id":ObjectId("5f5b9ec1e91f5e25e4188ef7"),"firstName":"John","lastName":"Doe","skills":[ObjectId("5f5b9ec1e91f5e25e4188ef0"),ObjectId("5f5b9ec1e91f5e25e4188ef1")]},{"_id":ObjectId("5f5b9ec1e91f5e25e4188ef8"),"firstName":"Jane","lastName":"Smith","skills":[ObjectId("5f5b9ec1e91f5e25e4188ef1"),ObjectId("5f5b9ec1e91f5e25e4188ef2")]}],"Skills":[{"_id":ObjectId("5f5b9ec1e91f5e25e4188ef0"),"name":"JavaScript","users":[ObjectId("5f5b9ec1e91f5e25e4188ef7")]},{"_id":ObjectId("5f5b9ec1e91f5e25e4188ef1"),"name":"Python","users":[ObjectId("5f5b9ec1e91f5e25e4188ef7"),ObjectId("5f5b9ec1e91f5e25e4188ef8")]},{"_id":ObjectId("5f5b9ec1e91f5e25e4188ef2"),"name":"Java","users":[ObjectId("5f5b9ec1e91f5e25e4188ef8")]}]}

Query

db.Users.aggregate([{$lookup:{from:"Skills",localField:"skills",foreignField:"_id",as:"skills"}},{$match:{"skills.name":"Java"}}])

Result