我注意到 ArangoDB 的 Web 界面中有一个功能,允许用户以 JSON 文件的形式下载或上传数据。但是,我发现 CSV 导出没有类似的内容。如何将现有的 Arango DB 集合导出到 .csv 文件?
如果您想将数据从 ArangoDB 导出到 CSV,那么您应该使用 Arangoexport。它包含在完整包以及仅限客户端的包中。您可以在
arangod
服务器可执行文件旁边找到它。
基本用法:
https://docs.arangodb.com/3.11/components/tools/arangoexport/examples/#export-csv
另请参阅带有 AQL 查询的 CSV 示例:
https://docs.arangodb.com/3.11/components/tools/arangoexport/examples/#export-via-aql-query
使用 AQL 查询进行 CSV 导出允许您根据需要转换数据,例如将数组连接到字符串或解压嵌套对象。如果您不这样做,那么将导出数组/对象的 JSON 序列化(这可能是您想要的,也可能不是您想要的)。
默认的 Arango 安装包含以下文件:
/usr/share/arangodb3/js/contrib/CSV_export/CSVexport.js
其中包含以下评论:
// This is a generic CSV exporter for collections.
//
// Usage: Run with arangosh like this:
// arangosh --javascript.execute <CollName> [ <Field1> <Field2> ... ]
不幸的是,至少根据我的经验,该使用提示是“不正确的”。 Arango 团队,如果您正在阅读本文,请更正文件或纠正我的理解。 这是我如何让它工作的:
arangosh --javascript.execute "/usr/share/arangodb3/js/contrib/CSV_export/CSVexport.js" "<CollectionName>"
Please specify a password:
然后它将 CSV 数据发送到 stdout。 (如果您要将其发送到文件,则必须以某种方式处理密码提示。)