如何使用Java API执行AQL查询?

问题描述:

我有一个集合命名为docCollection,我想就例如进行正常的AQL查询:如何使用Java API执行AQL查询?

FOR id IN docCollection FILTER id.center == "Germany" RETURN id 

我曾尝试使用的例子作为说明这里:

https://docs.arangodb.com/cookbook/JavaDriverXmlData.html

但没有为我工作,它告诉我

线程“主”异常java.lang.NullPointerException

+0

灿你找到堆栈跟踪源出现在哪里? – dothebart

+0

'CursorResult rs = driver.executeAqlQuery(query,null,null,BaseDocument.class);' - 这里 –

+0

你确实看到你粘贴的例子使用'executeAqlQueryRaw'而不是'executeAqlQuery'? – dothebart

通常情况下,您必须使用driver.executeDocumentQuery(...)进行文档查询。

为了说明driver.executeDocumentQuery(...)driver.executeAqlQuery(...)我加入example之间的差异。

下载在GitHub上ArangoDB Java驱动程序和使用Maven编译:包含所有的依赖

mvn clean install -DskipTests=true -Dgpg.skip=true -Dmaven.javadoc.skip=true -B 

的Maven创建独立的驱动程序JAR文件(arangodb-Java的应用程序-XXX-快照standalone.jar)目标目录。

获取示例代码:

wget https://gist.githubusercontent.com/anonymous/bd68b523647548e5fb36d27c29561cfe/raw/f2922d431b9f1e5a3f3239e9024cf342536f55f7/AqlExample.java 

编译示例代码:

javac -classpath arangodb-java-driver-X.X.X-SNAPSHOT-standalone.jar AqlExample.java 

启动无默认端口认证ArangoDB和运行示例代码:

java -classpath arangodb-java-driver-X.X.X-SNAPSHOT-standalone.jar:. AqlExample