2016-07-28 85 views
0

我对arango DB非常陌生nosql 我尝试使用shell命令或arangosh命令获取arangoDB的导出输出,但找不到任何方法。我知道序列化应用程序绝对可以帮助。但是,我正在寻找cli方法来完成它。我们如何才能从Arango DB noSQL获得结果导出

有一种方法可以使用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外壳。请帮助理解。

+1

您要求的内容听起来不像查询数据的好方法。但如果你真的想,你可以这样做:'arangosh --server.database qadb --server.username qatest --server.password TTTT --javascript.execute-string“print(db._query('RETURN长度(集合名称)'))“' – CoDEmanX

回答

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家当机制来运行脚本:

#!/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

相关问题