У меня простые родительско-дочерние отношения в ArangoDB. Каждый родительский документ может иметь от нуля до многих дочерних элементов. Допустим, у родительского документа есть атрибуты pa1, а у дочерних документов есть один атрибут ca1 и обратная ссылка на родительский _id "_id_parent". Как мне написать запрос AQL, чтобы вернуть набор результатов, например:
[{
"_key": "111",
"_id": "parent/111",
"pa1": "aaa",
"children": [{
"_key": "21",
"_id": "child/21",
"_id_parent": "parent/111",
"ca1": "www"
},
{
"_key": "22",
"_id": "child/22",
"_id_parent": "parent/111",
"ca1": "xxx"
}
]
},
{
"_key": "222",
"_id": "parent/222",
"pa1": "ddd",
"children": [{
"_key": "31",
"_id": "child/31",
"_id_parent": "parent/222",
"ca1": "yyy"
},
{
"_key": "32",
"_id": "child/32",
"_id_parent": "parent/222",
"ca1": "zzz"
}
]
}
]
Другими словами, как мне "сгладить" это:
FOR p IN Parent
FILTER p.pa1 == @parm1
LET children = (
(FOR c IN Child
FILTER c._id_parent == p._id
RETURN c)
)
RETURN {p, children}