Database

[{"_id":"MENU_ORDER_POS_1","menuVersion":"MENU_ORDER","menuType":"MAIN","status":"ENABLED","children":[{"_id":"MENU_ORDER_CHILD_1","menuVersion":"MENU_ORDER","status":"ENABLED","children":[{"_id":"MENU_ORDER_CHILD_1.1","menuVersion":"MENU_ORDER","status":"ENABLED","children":[]},{"_id":"MENU_ORDER_CHILD_1.2","menuVersion":"MENU_ORDER","status":"DISABLED","children":[]}]},{"_id":"MENU_ORDER_CHILD_2","menuVersion":"MENU_ORDER","status":"DISABLED","children":[]},{"_id":"MENU_ORDER_CHILD_3","menuVersion":"MENU_ORDER","status":"DISABLED","children":[]}]},{"_id":"MENU_ORDER_POS_2","menuVersion":"PANEL","menuType":"","defaultPath":"","eventNameToNavigate":"","status":"ENABLED","children":[]}]

Query

db.collection.aggregate([{$set:{children:{"$filter":{"input":"$children","as":"c","cond":{$and:[{$eq:["$$c.menuVersion","MENU_ORDER"]},{$eq:["$$c.status","ENABLED"]}]}}}}},{$set:{children:{"$map":{"input":"$children","as":"c","in":{"$mergeObjects":["$$c",{"children":{"$filter":{"input":"$$c.children","as":"innerChild","cond":{$eq:["$$innerChild.status","ENABLED"]}}}}]}}}}}])

Result