Database

[{"_id":1,"course":"course1","levels":[{"level_id":"C1L1","name":"course 1 - level1","modules":[{"module_id":"C1L1M1","name":"level 1module1"},{"module_id":"C1L1M2","name":"level 1 module2"},]},{"level_id":"C1L2","name":"course 1 - level2","modules":[{"module_id":"C1L2M1","name":"level 2 module1"},{"module_id":"C1L1M2","name":"level 2 module2"},]},]},{"_id":2,"course":"course2","levels":[{"level_id":"C2L1","name":"course 2 - level1","modules":[{"module_id":"C2L1M1","name":"level1 module1"},{"module_id":"C2L1M2","name":"level1 module2"},]},{"level_id":"C2L2","name":"course 2 - level2","modules":[{"module_id":"C2L2M1","name":"level 2 module1"},{"module_id":"C2L1M2","name":"level 2 module2"},]},]},]

Query

db.collection.find({"levels.modules.module_id":"C1L2M1"},{_id:0,module:{$first:{$filter:{input:{$map:{input:"$levels",as:"l",in:{$first:{$filter:{input:"$$l.modules",as:"m",cond:{$eq:["$$m.module_id","C1L2M1"]}}}}}},as:"x",cond:{$ne:["$$x",null]}}}}})

Result