gpt4 book ai didi

arangodb - 如何将 AQL 的所有结果合并到具有自定义属性的单个文档中

转载 作者:行者123 更新时间:2023-12-04 16:05:37 24 4
gpt4 key购买 nike

我有一个 AQL 查询遍历图,它总是应该从一组唯一的集合中返回固定数量的文档。因此每个集合只会发生一次并且只有一个文档。

我希望将它们全部合并到反射(reflect)文档集合名称的属性下的单个文档中。

查询很简单:

FOR v IN ANY "vertex/key" edge_collection RETURN v

返回示例结果为:

[
{
"_key": "123",
"_id": "foo/123",
"_rev": "_WYhh0ji---",
"foo_attribute": "lorem impsum"
},
{
"_key": "456",
"_id": "bar/456",
"_rev": "_WYhh2ny---",
"bar_attribute": "dolor sit amet"
}
]

我希望得到这样的结果:

[
{
"foo": {
"_key": "123",
"_id": "foo/123",
"_rev": "_WYhh0ji---",
"foo_attribute": "lorem impsum"
},
"bar": {
"_key": "456",
"_id": "calendar/bar",
"_rev": "_WYhh2ny---",
"bar_attribute": "dolor sit amet"
}
}
]

最佳答案

  • 为了从文档中获取集合名称,请使用 PARSE_IDENTIFIER function分别给出文档的集合名称和 key
  • 使用square brackets动态生成文档属性的理解
  • 简单合并查询结果

例子:

RETURN MERGE(
FOR v IN ANY "vertex/key" edge_collection
RETURN {[PARSE_IDENTIFIER(v).collection]: v}
)

关于arangodb - 如何将 AQL 的所有结果合并到具有自定义属性的单个文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48890455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com