2016-07-28 29 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