Database

[{"_id":"1_1","name":"Component 1","subComponents":[{"_id":"subId_1","name":"subComponentName_subId_1","type":"SUB_COMPONENT_TYPE_1","parts":[{"_id":"partId_1","type":"type_partId_1","description":"part description partId_1","status":true},{"_id":"partId_2","type":"type_partId_2","description":"part description partId_2","status":true},{"_id":"partId_3","type":"type_partId_3","description":"part description partId_3","status":true}]},{"_id":"subId_2","name":"subComponentName_subId_2","type":"SUB_COMPONENT_TYPE_2","parts":[{"_id":"partId_1","type":"type_partId_1","description":"part description partId_1","status":true},{"_id":"partId_2","type":"type_partId_2","description":"part description partId_2","status":true},{"_id":"partId_3","type":"type_partId_3","description":"part description partId_3","status":true}]},{"_id":"subId_3","name":"subComponentName_subId_3","type":"SUB_COMPONENT_TYPE_3","parts":[{"_id":"partId_1","type":"type_partId_1","description":"part description partId_1","status":true},{"_id":"partId_2","type":"type_partId_2","description":"part description partId_2","status":true},{"_id":"partId_3","type":"type_partId_3","description":"part description partId_3","status":true}]}],"_class":"com.ak.mongodb.domain.Component"}]

Query

db.collection.aggregate([{$match:{_id:"1_1"}},{$project:{subComponents:{$filter:{input:"$subComponents",as:"subComponent",cond:{$eq:["$$subComponent._id","subId_1"]}}}}},{$unwind:"$subComponents"},{$replaceRoot:{newRoot:"$subComponents"}},{$project:{name:1,type:1,parts:{$filter:{input:"$parts",as:"part",cond:{$in:["$$part._id",["partId_1","partId_2"]]}}}}}])

Result