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

Has*_*ari 3 java arangodb

我有一个名为的集合docCollection,我想执行正常的AQL查询,例如:

FOR id IN docCollection FILTER id.center == "Germany" RETURN id
Run Code Online (Sandbox Code Playgroud)

我试图使用这里所述的例子:

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

但它对我没有用,它告诉我

线程"main"java.lang.NullPointerException中的异常

小智 5

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

为了说明driver.executeDocumentQuery(...)driver.executeAqlQuery(...)之间的差异,我添加了一个示例.

在github上下载ArangoDB java驱动程序并使用maven编译它:

mvn clean install -DskipTests=true -Dgpg.skip=true -Dmaven.javadoc.skip=true -B
Run Code Online (Sandbox Code Playgroud)

Maven创建包含目标目录中所有依赖项的独立驱动程序JAR文件(arangodb-java-driver-XXX-SNAPSHOT-standalone.jar).

获取示例代码:

 wget https://gist.githubusercontent.com/anonymous/bd68b523647548e5fb36d27c29561cfe/raw/f2922d431b9f1e5a3f3239e9024cf342536f55f7/AqlExample.java
Run Code Online (Sandbox Code Playgroud)

编译示例代码:

 javac -classpath arangodb-java-driver-X.X.X-SNAPSHOT-standalone.jar AqlExample.java
Run Code Online (Sandbox Code Playgroud)

在默认端口上启动ArangoDB而不进行身份验证并运行示例代码:

 java -classpath arangodb-java-driver-X.X.X-SNAPSHOT-standalone.jar:. AqlExample
Run Code Online (Sandbox Code Playgroud)