2
在ArangoDB中,我有一個'人員'集合。每個人都有一個名字和一個國籍。 我如何找到名字不止一次出現在美國人身上的所有人的鑰匙?AQL:查找所有名字多次出現並且是美國人的人
我可以分別運行這兩個查詢。 選擇所有的人的名字出現不止一次:
FOR p IN people
LET key = p._key
COLLECT p.name INTO groups KEEP key
FILTER LENGTH(groups) >= 2
LET group = groups[*].key
RETURN group
選擇誰是美國所有的人:
FOR p IN people
FILTER p.nationality == 'American'
RETURN p._key
但我無法弄清楚如何將這兩者結合起來。問題是我需要在之後篩選國籍,檢查名稱是否是非唯一的(因爲可能有美國的約翰史密斯和英國的約翰史密斯)。 然而,COLLECT語句會創建一個列表清單,我無法弄清楚如何正確地過濾它。