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

问题描述 投票:2回答:1

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

@CoDEmanX问如果查询返回同一集合的许多文档怎么办?

arangodb aql
1个回答
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 }的已收集文档数组
  • 将结果合并到单个文档中
© www.soinside.com 2019 - 2024. All rights reserved.