Arangodb 在AQL中返回具有动态键的对象

Arangodb 在AQL中返回具有动态键的对象,arangodb,Arangodb,我可以退回类似于: { "c/12313" = 1, "c/24223" = 2, "c/43423" = 3, ... } 来自AQL查询?其思想类似于(此非工作代码): 其中,sortOrder是我的文档中的某些属性。是的,可能有: 计算属性键的表达式必须用[方括号]包装,就像在JavaScript中一样 但是,这并没有返回理想的结果: FOR c IN my_collection RETURN { [ c._id ]: c.sortOrder } [ { "c/12313":

我可以退回类似于:

{
"c/12313" = 1,
"c/24223" = 2,
"c/43423" = 3,
...
}
来自AQL查询?其思想类似于(此非工作代码):


其中,
sortOrder
是我的文档中的某些属性。

是的,可能有:

计算属性键的表达式必须用
[
方括号
]
包装,就像在JavaScript中一样

但是,这并没有返回理想的结果:

FOR c IN my_collection
  RETURN { [ c._id ]: c.sortOrder }

[
  { "c/12313": 1 },
  { "c/24223": 2 },
  { "c/43423": 3 },
  ...
]
要不为每个键返回单独的对象,需要使用子查询:

RETURN MERGE(
  FOR c IN my_collection
    RETURN { [ c._id ]: c.sortOrder }
)

[
  {
    "c/12313": 1,
    "c/24223": 2,
    "c/43423": 3,
    ...
  }
]

是的,可以有:

计算属性键的表达式必须用
[
方括号
]
包装,就像在JavaScript中一样

但是,这并没有返回理想的结果:

FOR c IN my_collection
  RETURN { [ c._id ]: c.sortOrder }

[
  { "c/12313": 1 },
  { "c/24223": 2 },
  { "c/43423": 3 },
  ...
]
要不为每个键返回单独的对象,需要使用子查询:

RETURN MERGE(
  FOR c IN my_collection
    RETURN { [ c._id ]: c.sortOrder }
)

[
  {
    "c/12313": 1,
    "c/24223": 2,
    "c/43423": 3,
    ...
  }
]

也许可以在
return
语句的AQL章节中添加一个链接到object?扩展文档的数据类型章节:这非常令人印象深刻-能够在合并中运行for循环。return是数组中的一个对象。数组是不必要的。有没有办法摆脱它们?结果总是封装在一个数组中,你不能删除它。也许可以在
return
语句的AQL章节中添加一个链接到对象的数据类型章节?扩展文档:这非常令人印象深刻-在合并中运行for循环的能力。返回是数组中的一个对象。数组是不必要的。有什么方法可以去除它们吗?结果总是封装在一个数组中,你不能删除它。