从由arangodb中的多个数组组成的结果中获取公共元素

时间:2018-10-10 11:37:19

标签: arangodb aql

我想从多个数组中获取公共元素。没有数组的结果将根据否不断变化。数组a []中的标签的集合。

第一步,我得到的查询和结果如下所示:

let a=["Men","Women","Accessories"]
let c=(for i in a
       Let d=Concat("Tags/",i)
       return d)

for i in c
   let m=(for y in outbound i TC 
          return y._key)
   return m

我得到的结果是:

[
  [
    "C1",
    "C5",
    "C7",
    "C3"
  ],
  [
    "C2",
    "C5",
    "C6",
    "C4"
  ],
  [
    "C7",
    "C5",
    "C6"
  ]
]

从这个结果中,我只需要一个共同的元素,即“ C5”(此处)。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

也已在github上提出并回答了这个问题。

函数INTERSECTION()返回所有指定数组的交集,而APPLY()用于传递动态数量的嵌套数组。

查询

let D = [["C1","C5","C7","C3"],["C2","C5","C6","C4"],["C7","C5","C6"]] 

RETURN APPLY("INTERSECTION", D)

导致:

[
  [
    "C5"
  ]
]
相关问题