有没有办法在AQL中使用动态集合名称?

时间:2016-12-14 03:20:43

标签: arangodb aql

如果我有一个包含集合名称的集合,AQL中是否有一个允许您使用动态集合名称的语法?

这是我正在寻找的一个例子。名为master的集合包含许多文档,.stateActiveDisabled。该集合有一个名为collection_name的密钥,它是此数据库中另一个集合的名称。

FOR doc IN master 
FILTER doc.state == 'Active' 
    FOR c IN COLLECTION(doc.collection_name)    <--- invented command called COLLECTION
    RETURN {
      'collection_name': doc.collection_name,
      'contents': c
    }

我正在尝试从Active集合中标记为master的所有集合中检索所有文档。

有没有办法在一个AQL查询中执行此操作,而不必将其分解为master上的初始查询,然后对返回的每个集合进行n次查询?

1 个答案:

答案 0 :(得分:1)

正如我从this ArangoDB问题得出的结论,没有办法真正使用动态集合名称。

但是,您可以使用任何AQL函数作为变通方法。有关完整说明,请参阅有关该问题的最新评论。