我们如何从Arango DB noSQL获得结果导出

时间:2016-07-28 03:56:53

标签: python shell arangodb nosql

我是arango DB nosql的新手 我尝试使用shell命令或arangosh命令获取arangoDB的导出输出,但我找不到任何方法。我知道序列化到应用程序肯定有帮助。但是,我正在寻找cli方法来完成它。

有一种方法可以使用pyarango来我们可以将结果淹没到文件中。但是寻找解决方案 echo " db._query('return (length(table_name))')"|arangosh --server.database "qadb" --server.endpoint "tcp://127.0.0.1:8529" --server.username "qatest" --server.password "TTT"

然而,在我的情况下,我可以得到结果和命令结束打开arangosh shell。请帮助理解。

1 个答案:

答案 0 :(得分:1)

ArangoDB提供了几种脚本编写方式。您可以使用curl as documented with the HTTP-API

curl --dump - http://localhost:8529/_api/version?details=true

HTTP-API是所有驱动程序所基于的。因此,如果可以通过arangosh实现,你可以使用curl(可能借助jq来提取所需的信息)

你也可以使用arangosh来执行传入的任意命令(如CoDEmanX所指出的那样:

arangosh --server.database qadb \
  --server.username qatest \
  --server.password TTTT \
  --javascript.execute-string \
    "print(db._query('RETURN LENGTH(collection_name)'))"

您还可以使用arangosh使用标准的unix shebang机制运行脚本:

#!/usr/bin/arangosh --javascript-execute 
print(db._query('RETURN LENGTH(collection_name)'));

将上述内容保存到/tmp/test.js并使其chmod a+x /tmp/test.js可执行,然后您可以直接调用它:

/tmp/test.js
SOME_BASH_VAR=`/tmp/test.js`
echo "${SOME_BASH_VAR}"
/tmp/test.js > /tmp/output_of_arangosh.json

要导出集合,您应该使用arangodump