AQL如何将文档收集到其集合名称下的数组中?

时间:2018-02-25 09:14:26

标签: arangodb aql

在回答之前的questions时,展示了如何在其集合名称下收集文档,但有一个明确的约束条件,即查询只返回每个集合的一个文档。

@CoDEmanX询问查询是否返回同一集合的许多文档?

1 个答案:

答案 0 :(得分:3)

将不得不返工查询以使用聚合:

FOR doc IN ANY "vertex/key" edge_collection
COLLECT collection = PARSE_IDENTIFIER(doc).collection INTO collected
RETURN MERGE({
    [collection]: collected[*].doc
})
  • 按文件集合名称COLLECT collection = PARSE_IDENTIFIER(doc).collection INTO collected
  • 对文档进行分组
  • 将集合名称作为属性的表单文档和已收集文档的数组作为值{ [collection]: collected[*].doc }
  • 将结果合并到单个文档