Database

[{"_id":{"A":"31","B":"34","C":"7"},"dic":[{"_id":"5487","data":{"A":{"33":{"name":"Name #0"},"32":{"name":" -- "}},"B":{"33":{"label":"Label","description":"description"},"34":{"label":" Data collection ","description":"error"}},"C":{"4":{"description":"High problem"},"5":{"description":"Low problem"},"6":{"description":"problem"},"7":{"description":" Normal"}}}}]}]

Query

db.collection.aggregate([{$addFields:{dic:{$arrayElemAt:["$dic",0]}}},{$project:{_id:1,dic:{A:{$reduce:{input:{$objectToArray:"$dic.data.A"},initialValue:"Not Found",in:{$cond:[{$eq:["$$this.k","$_id.A"]},"$$this.v.name","$$value"]}}},B:{$reduce:{input:{$objectToArray:"$dic.data.B"},initialValue:"Not Found",in:{$cond:[{$eq:["$$this.k","$_id.B"]},"$$this.v.description","$$value"]}}},C:{$reduce:{input:{$objectToArray:"$dic.data.C"},initialValue:"Not Found",in:{$cond:[{$eq:["$$this.k","$_id.C"]},"$$this.v.description","$$value"]}}}}}}])

Result