Database

[{factoryName:"San Francisco",departments:[{departmentName:"Administration",areas:[{areaName:"Phone Guys"},{areaName:"Email Guys"}]},{departmentName:"Development",areas:[{areaName:"Dev Ops"},{areaName:"Programming"},{areaName:"Architecture"}]}]},{factoryName:"Chicago",departments:[{departmentName:"Administration",areas:[{areaName:"Phone Guys"},{areaName:"Email Guys"}]},{departmentName:"Logistics",areas:[{areaName:"Delivery"},{areaName:"Human Resources"}]}]}]

Query

db.collection.aggregate([{"$match":{"departments.areas.areaName":"Architecture"}},{$addFields:{departments:{$map:{input:{$filter:{input:"$departments",cond:{$in:["Architecture","$$this.areas.areaName"]}}},in:{departmentName:"$$this.departmentName",areas:{$filter:{input:"$$this.areas",as:"d",cond:{$eq:["$$d.areaName","Architecture"]}}}}}}}}])

Result