ArangoDBでは、私は 'people'というコレクションを持っています。それぞれの人は名前と国籍を持っています。 名前が複数回出現し、アメリカ人であるすべての人の鍵を見つけるにはどうすればよいですか?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ステートメントはリストのリストを作成し、正しくフィルタリングする方法を理解できませんでした。