【发布时间】:2016-08-22 22:27:31
【问题描述】:
我可以返回类似的东西吗:
{
"c/12313" = 1,
"c/24223" = 2,
"c/43423" = 3,
...
}
来自 AQL 查询?这个想法类似于(这个非工作代码):
for c in my_collection
return { c._id : c.sortOrder }
sortOrder 是我文档中的一些属性。
【问题讨论】:
标签: arangodb
我可以返回类似的东西吗:
{
"c/12313" = 1,
"c/24223" = 2,
"c/43423" = 3,
...
}
来自 AQL 查询?这个想法类似于(这个非工作代码):
for c in my_collection
return { c._id : c.sortOrder }
sortOrder 是我文档中的一些属性。
【问题讨论】:
标签: arangodb
是的,可以有dynamic attribute names:
LET key = "foo"
LET value = "bar"
RETURN { [ key ]: value } // { "foo": "bar" }
计算属性键的表达式必须包含在 [ 方括号 ] 中,就像在 JavaScript 中一样。
然而,这并不能返回理想的结果:
FOR c IN my_collection
RETURN { [ c._id ]: c.sortOrder }
[
{ "c/12313": 1 },
{ "c/24223": 2 },
{ "c/43423": 3 },
...
]
要不为每个键返回单独的对象,MERGE() 和子查询是必需的:
RETURN MERGE(
FOR c IN my_collection
RETURN { [ c._id ]: c.sortOrder }
)
[
{
"c/12313": 1,
"c/24223": 2,
"c/43423": 3,
...
}
]
【讨论】:
return 语句的 AQL 章节中添加一个链接到对象的数据类型章节?