Database
[{"nestedMap":{"1001":{"0":"A","1":"B","2":"C","3":"D"},"1002":{"0":"E","1":"F","2":"G","3":{"26":"2A","27":"2B","28":"2C","29":"2D"}}}}]
Query
db.collection.aggregate([{$project:{nestedMap:{$function:{body:"function(obj) { function unpackMap(map) { return Object.keys(map).map(key => { if (typeof map[key] === 'object' && !Array.isArray(map[key])) { return { k: key, v: unpackMap(map[key]) }; } else { return { k: key, v: map[key] }; } }); } return unpackMap(obj); }",args:["$nestedMap"],lang:"js"}}}}])