Database

[{"_id":ObjectId("5a934e000102030405000000"),"name":"l1","route":"l1","children":[{"name":"l2a","route":"l1/l2a","children":[{"name":"l3a","route":"l1/l2a/l3a"},{"name":"l3r","route":"l1/l2a/l3r"}]},{"name":"l2b","route":"l1/l2b","children":[{"name":"l3b","route":"l1/l2b/l3b"}]}]}]

Query

db.collection.aggregate([{$match:{_id:ObjectId("5a934e000102030405000000")}},{$set:{children:{$map:{input:"$children",as:"a2",in:{$mergeObjects:["$$a2",{$cond:[{$eq:["$$a2.name","l2a"]},{children:{$map:{input:"$$a2.children",as:"a3",in:{$mergeObjects:["$$a3",{$cond:[{$eq:["$$a3.name","l3a"]},{name:"l3g",route:{$concat:["$name","/","$$a2.name","/","l3g"]}},{}]}]}}}},{}]}]}}}}}])

Result