Database

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

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