BugBuddy
BugBuddy

Reputation: 606

ArangoDB: How to export collection to CSV?

I have noticed there is a feature in web interface of ArangoDB which allows users to Download or Upload data as JSON file. However, I find nothing similar for CSV exporting. How can an existing Arango DB collection be exported to a .csv file?

Upvotes: 1

Views: 1772

Answers (2)

CodeManX
CodeManX

Reputation: 11885

If you want to export data from ArangoDB to CSV, then you should use Arangoexport. It is included in the full packages as well as the client-only packages. You find it next to the arangod server executable.

Basic usage:
https://docs.arangodb.com/3.11/components/tools/arangoexport/examples/#export-csv

Also see the CSV example with AQL query:
https://docs.arangodb.com/3.11/components/tools/arangoexport/examples/#export-via-aql-query

Using an AQL query for a CSV export allows you to transform the data if desired, e.g. to concatenate an array to a string or unpack nested objects. If you don't do that, then the JSON serialization of arrays/objects will be exported (which may or may not be what you want).

Upvotes: 3

BugBuddy
BugBuddy

Reputation: 606

The default Arango install includes the following file:

/usr/share/arangodb3/js/contrib/CSV_export/CSVexport.js

It includes this comment:

// This is a generic CSV exporter for collections.
//
// Usage: Run with arangosh like this:
//   arangosh --javascript.execute <CollName> [ <Field1> <Field2> ... ]

Unfortunately, at least in my experience, that usage tip is incorrect. Arango team, if you are reading this, please correct the file or correct my understanding.

Here's how I got it to work:

arangosh --javascript.execute "/usr/share/arangodb3/js/contrib/CSV_export/CSVexport.js" "<CollectionName>"
Please specify a password: 

Then it sends the CSV data to stdout. (If you with to send it to a file, you have to deal with the password prompt in some way.)

Upvotes: 1

Related Questions