Database

[{"companyId":1,"companyName":"Company Name 1","data":{"code1":{"iterations":[{"procedure":"Functions"},{"procedure":"Planning"},{"procedure":"Monitoring"}]},"code2":{"iterations":[{"digitization":true}]},"code3":{"iterations":[{"meeting_freq":"Every month"}]}}}]

Query

db.collection.aggregate([{$match:{$or:[{"data.code1":{$exists:true}},{"data.code2":{$exists:true}},{"data.code3":{$exists:true}}]}},{$addFields:{maxSize:{$reduce:{input:{"$objectToArray":"$data"},initialValue:0,in:{$max:["$$value",{$size:"$$this.v.iterations"}]}}}}},{$addFields:{values:{$map:{input:{$range:[0,"$maxSize"]},as:"iter",in:{$arrayToObject:{$map:{input:{"$objectToArray":"$data"},as:"datum",in:{k:"$$datum.k",v:{$ifNull:[{$arrayElemAt:["$$datum.v.iterations","$$iter"]},null]}}}}}}}}},{$unwind:"$values"},{$replaceRoot:{newRoot:{$mergeObjects:[{companyId:"$companyId",companyName:"$companyName",},"$values"]}}}])

Result