arangodb - 查询多个集合Arangodb

标签 arangodb aql

FOR col_name IN ['col_1', 'col_2']

FOR d IN FULLTEXT(col_name, 'label', @value)

RETURN d

不起作用

但是

FOR d IN FULLTEXT('col_1', 'label', @value)

RETURN d

工作正常

我正在使用 arango 3.4.2-1

最佳答案

一般来说,您可以像这样查询两个集合:

FOR col1doc IN col_1
  FILTER col1doc.foo == 'bar'
    FOR col2doc IN col_2
      FILTER col1doc.joinfield == col2doc.joinfield
RETURN {col1doc: col1doc, col2doc: col2doc} 

作为其 documented in the AQL manual for joins

请注意,简单的字符串相等可以使用 FILTER 完成,并且不需要全文索引。

对于两个集合的旧全文索引,您可以使用如下子查询:

let col1Documents = (FULLTEXT(col_1, 'label', @value))
let col2Documents = (FULLTEXT(col_2, 'label', @value))

RETURN CONCAT(col1Documents, col2Documents)

实现这一目标的更现代的方法是 to use ArangoSearch views它可以处理大量集合。​​

关于arangodb - 查询多个集合Arangodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54890921/

相关文章:

arangodb - [ArangoDB] : Get the first element of an object?

arangodb - 如何使用 ArangoJs 在 ArangoDb 图中存储文档?

java - 带有 Kotlin 数据类的 ArangoDB Java 驱动程序

ArangoDB 并发问题

java - arangodb 文档的自定义 JsonDeserializer

graph - 优化 arangodb 中的查询

ArangoDB,执行查询的更好方法是什么?

logging - ArangoDB FOXX 日志记录 : how to

go - 如何执行纯 aql 查询?

arangodb - 在Arangodb中如何在单个for循环中进行多次更新插入