arangosh Examples

Connecting to a server

By default arangosh will try to connect to an ArangoDB server running on server localhost on port 8529. It will use the username root and an empty password by default. Additionally it will connect to the default database (_system). All these defaults can be changed using the following command-line options:

  • --server.database <string>: name of the database to connect to
  • --server.endpoint <string>: endpoint to connect to
  • --server.username <string>: database username
  • --server.password <string>: password to use when connecting
  • --server.authentication <bool>: whether or not to use authentication

For example, to connect to an ArangoDB server on IP 192.168.173.13 on port 8530 with the user foo and using the database test, use:

arangosh --server.endpoint tcp://192.168.173.13:8530 --server.username foo --server.database test --server.authentication true

arangosh will then display a password prompt and try to connect to the server after the password was entered.

At signs @ in startup option arguments need to be escaped as @@. ArangoDB programs and tools support a special syntax @envvar@ that substitutes text wrapped in at signs with the value of an equally called environment variable. This is most likely an issue with passwords and the --server.password option.

For example, password@test@123 needs to be passed as --server.password password@@test@@123 to work correctly, unless you want @test@ to be replaced by whatever the environment variable test is set to.

The shell will print its own version number and if successfully connected to a server the version number of the ArangoDB server.

If the server endpoint is configured for SSL then clients such as arangosh need to connect to it using an SSL socket as well. For example, use http+ssl:// as schema in --server.endpoint for an SSL-secured HTTP connection.

The schema of an endpoint is comprised of a protocol and a socket in the format protocol+socket://. There are alternatives and shorthands for some combinations, ssl:// is equivalent to http+ssl:// and https:// for instance:

Protocol Socket Schema
HTTP TCP http+tcp, http+srv, http, tcp
HTTP TCP with SSL/TLS http+ssl, https, ssl
HTTP Unix http+unix, unix
VelocyStream TCP vst+tcp, vst+srv, vst
VelocyStream TCP with SSL/TLS vst+ssl, vsts
VelocyStream Unix vst+unix

Using arangosh

To change the current database after the connection has been made, you can use the db._useDatabase() command in arangosh:

arangosh> db._createDatabase("myapp");
arangosh> db._useDatabase("myapp");
arangosh> db._useDatabase("_system");
arangosh> db._dropDatabase("myapp");
Show execution results
Hide execution results
true
true
true
true

To get a list of available commands, arangosh provides a help() function. Calling it will display helpful information.

arangosh also provides auto-completion. Additional information on available commands and methods is thus provided by typing the first few letters of a variable and then pressing the tab key. It is recommend to try this with entering db. (without pressing return) and then pressing tab.