gpt4 book ai didi

arangodb - AQL - 在 ArangoDB 中查找具有非唯一属性的文档

转载 作者:行者123 更新时间:2023-12-02 03:00:18 24 4
gpt4 key购买 nike

假设我有以下文件:

{"_key": "1", "name": "George Washington"}
{"_key": "2", "name": "George Washington"}
{"_key": "3", "name": "John Adams"}
{"_key": "4", "name": "Thomas Jefferson"}
{"_key": "5", "name": "George Washington"}
{"_key": "6", "name": "Thomas Jefferson"}

我想编写一个 AQL 语句来返回按名称分组的文档的键,但前提是该名称不止一次出现。

所以我想要的输出是:

[["1", "2", "5"], ["4", "6"]] 

到目前为止我想出了

FOR doc IN documents
LET key = doc._key
COLLECT name = doc.name INTO groups KEEP key
RETURN (FOR g IN groups RETURN g["key"])

返回:

[["1", "2", "5"], ["3"], ["4", "6"]]

如何修改 AQL 命令以仅获取包含两个或更多条目的数组?

最佳答案

另一种可能性(可能更有效一点,因为不涉及子查询):

FOR doc IN documents
LET key = doc._key
COLLECT name = doc.name INTO groups KEEP key
LET keys = groups[*].key
FILTER LENGTH(keys) > 1
RETURN keys

关于arangodb - AQL - 在 ArangoDB 中查找具有非唯一属性的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514854/

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