有没有办法在 AQL 中使用动态集合名称?
Is there a way to use dynamic collection names in AQL?
如果我有一个包含集合名称的集合,AQL 中是否有允许您使用动态集合名称的语法?
这是我正在寻找的示例。名为 master
的集合有许多文档,.state
为 Active
或 Disabled
。该集合有一个名为 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
}
我正在尝试从 master
集合中标记为 Active
的所有集合中检索所有文档。
有没有一种方法可以在一个 AQL 查询中执行此操作,而不必将其分解为对 master
的初始查询,然后是对返回的每个集合的 n 个查询?
正如我从 this ArangoDB 问题中得出的结论,没有办法真正使用动态集合名称。
但是您可以使用任何 AQL 函数作为解决方法。请参阅关于该问题的最后一条评论以获得完整解释。
如果我有一个包含集合名称的集合,AQL 中是否有允许您使用动态集合名称的语法?
这是我正在寻找的示例。名为 master
的集合有许多文档,.state
为 Active
或 Disabled
。该集合有一个名为 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
}
我正在尝试从 master
集合中标记为 Active
的所有集合中检索所有文档。
有没有一种方法可以在一个 AQL 查询中执行此操作,而不必将其分解为对 master
的初始查询,然后是对返回的每个集合的 n 个查询?
正如我从 this ArangoDB 问题中得出的结论,没有办法真正使用动态集合名称。
但是您可以使用任何 AQL 函数作为解决方法。请参阅关于该问题的最后一条评论以获得完整解释。