Database

[{"all-items":[{"id":"1","type":"panel"}],"items":[{"id":"2","type":"input"},{"id":"4","type":"group","items":[{"id":"5","type":"input"},{"id":"6","type":"panel","items":[]}]}]}]

Query

db.collection.aggregate([{"$addFields":{"level-nlevel":{"$reduce":{"input":"$items","initialValue":[[],[]],"in":{"$let":{"vars":{"info":"$$value","i":"$$this"},"in":{"$let":{"vars":{"level":{"$arrayElemAt":["$$info",0]},"nlevel":{"$arrayElemAt":["$$info",1]}},"in":[{"$concatArrays":["$$level",[{"id":"$$i.id","type":"$$i.type"}]]},{"$cond":[{"$isArray":["$$i.items"]},{"$concatArrays":["$$nlevel","$$i.items"]},"$$nlevel"]}]}}}}}}}},{"$project":{"all-items":{"$concatArrays":["$all-items",{"$arrayElemAt":["$level-nlevel",0]}]},"items":{"$arrayElemAt":["$level-nlevel",1]}}}])

Result