ArangoDB SORT in document in document per int
ArangoDB SORT in document in document per int
我想对结果进行排序,但 arango 忽略了我的 aql 请求。
以我的查询为例:
FOR d IN system_menu
SORT d.Lvl DESC
SORT d.Submenu[*].Lvl DESC
RETURN d
d.Lvl 是一个 INT 值。如何对文档中的文档数组进行排序?
我的文档:
{
"System": {},
"Controller": "reports",
"Show": true,
"Icon": "mdi-newspaper",
"Lvl": 3,
"Title": {
"DEde": "Berichte",
"Universal": "Reports"
},
"Submenu": [
{
"Title": {
"DEde": "Tätigkeitsberichte",
"Universal": "Activity reports"
},
"Controller": "activity-reports",
"Tabmenu": "",
"Filter": "",
"Lvl": 2,
"Show": true,
"Hrule": false
},
{
"Title": {
"DEde": "Behördenbericht",
"Universal": "Authority reports"
},
"Controller": "request-data-subject",
"Tabmenu": "",
"Filter": "",
"Lvl": 1,
"Show": true,
"Hrule": false
},
{
"Title": {
"DEde": "Auskunftsersuchen",
"Universal": "Request from a data subject"
},
"Controller": "request-data-subject",
"Tabmenu": "",
"Filter": "",
"Lvl": 3,
"Show": true,
"Hrule": false
}
]
}
排序失败!我如何从 1...100 中按 INT 对所有文档进行排序?
要对内部数组进行排序,您可以使用内部循环,例如
FOR d IN system_menu
SORT d.Lvl DESC
LET submenus = (
FOR s IN d.Submenu
SORT s.Lvl DESC
RETURN s
)
RETURN MERGE(d, { Submenu: submenus })
我想对结果进行排序,但 arango 忽略了我的 aql 请求。
以我的查询为例:
FOR d IN system_menu
SORT d.Lvl DESC
SORT d.Submenu[*].Lvl DESC
RETURN d
d.Lvl 是一个 INT 值。如何对文档中的文档数组进行排序?
我的文档:
{
"System": {},
"Controller": "reports",
"Show": true,
"Icon": "mdi-newspaper",
"Lvl": 3,
"Title": {
"DEde": "Berichte",
"Universal": "Reports"
},
"Submenu": [
{
"Title": {
"DEde": "Tätigkeitsberichte",
"Universal": "Activity reports"
},
"Controller": "activity-reports",
"Tabmenu": "",
"Filter": "",
"Lvl": 2,
"Show": true,
"Hrule": false
},
{
"Title": {
"DEde": "Behördenbericht",
"Universal": "Authority reports"
},
"Controller": "request-data-subject",
"Tabmenu": "",
"Filter": "",
"Lvl": 1,
"Show": true,
"Hrule": false
},
{
"Title": {
"DEde": "Auskunftsersuchen",
"Universal": "Request from a data subject"
},
"Controller": "request-data-subject",
"Tabmenu": "",
"Filter": "",
"Lvl": 3,
"Show": true,
"Hrule": false
}
]
}
排序失败!我如何从 1...100 中按 INT 对所有文档进行排序?
要对内部数组进行排序,您可以使用内部循环,例如
FOR d IN system_menu
SORT d.Lvl DESC
LET submenus = (
FOR s IN d.Submenu
SORT s.Lvl DESC
RETURN s
)
RETURN MERGE(d, { Submenu: submenus })