我是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。请帮助理解。
答案 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。