ReadonlynameThe name of the store (e.g. 'mongodb', 'redis', 'dynamodb')
ReadonlylibraryThe client library being used
arangojs's Database is a thin HTTP client wrapper with no persistent
socket to open, so "connecting" here means constructing it and making
one real request (version()) to fail fast on a bad URL/host/auth
instead of only discovering the problem on the first real operation.
Returns the underlying arangojs Database instance for anything not wrapped here.
Create a document collection.
Optionaloptions: ArangoCollectionOptionsCreate an edge collection (documents store _from/_to and can be traversed as graph edges).
Optionaloptions: ArangoCollectionOptionsDrop a collection (document or edge).
Optionaloptions: DropCollectionOptionsWhether a collection with this name exists.
List collections in the database (excludes system collections like _users by default).
Remove all documents from a collection without dropping the collection itself.
Number of documents currently in a collection.
Insert a single document. Pass _key in data to choose the key explicitly; otherwise ArangoDB generates one.
Optionaloptions: InsertDocumentOptionsInsert multiple documents in one request. Per-document failures (e.g. duplicate _key) come back as entries with error: true rather than throwing.
Optionaloptions: InsertDocumentOptionsFetch a single document by key/id. Returns null if it does not exist (rather than throwing).
Optionaloptions: Omit<ReadDocumentOptions, "graceful">Fetch multiple documents by key/id. Entries for documents that don't exist come back as null.
Whether a document with this key/id exists in the collection.
Partially update a document (shallow/deep merge of patch into the existing document, per ArangoDB's PATCH semantics).
Optionaloptions: UpdateDocumentOptionsFully replace a document's content (unlike updateDocument, unspecified fields are dropped).
Optionaloptions: ReplaceDocumentOptionsRun a parameterized AQL query and return the (cursor-based) result
set as a native arangojs Cursor - iterate it with for await,
cursor.next(), or cursor.all() to page through large result sets
without loading everything into memory at once. Use @name in query
for bind parameters and supply their values via bindVars (never
string-interpolate untrusted values into query itself).
Optionaloptions: QueryOptionsConvenience wrapper around query() that depletes the cursor and returns all results as an array.
Optionaloptions: QueryOptionsFetch all documents in collectionName matching an ORM where clause,
with optional ordering, offset, and limit. The where object accepts the
full ORM operator surface (Op.gt, Op.in, Op.between, Op.like,
Op.and/Op.or, ...), compiled to a parameterized AQL FILTER (values
and field names are always bound, never interpolated) - so standard
queries never require hand-written AQL.
Fetch the first document in collectionName matching an ORM where clause (respecting order), or null.
Count documents in collectionName matching an ORM where clause.
Update every document in collectionName matching an ORM where clause,
merging patch into each. Returns the updated documents (RETURN NEW).
Remove every document in collectionName matching an ORM where clause.
Returns the removed documents (RETURN OLD).
Native AQL UPSERT: find a document matching search; if none exists
insert insert, otherwise update the match with update (defaults to
insert). Returns the resulting document (RETURN NEW).
Optionalupdate: Record<string, unknown>Grouped aggregation over collectionName using AQL's native
COLLECT ... AGGREGATE (count/sum/avg/min/max), with an optional
ORM where pre-filter. Returns one entry per group: { group, ...aggregates }
(group is null when no groupBy is given).
Create a named graph over one or more edge definitions (each mapping
an edge collection to the vertex collection(s) it connects from and
to). Collections referenced by the edge definitions that don't exist
yet are created automatically by ArangoDB.
Optionaloptions: CreateGraphOptionsDrop a graph. If dropCollections is true, also drops the graph's vertex/edge collections (as long as they aren't used by another graph).
Whether a graph with this name exists.
List all graphs in the database.
Add an existing (or new) vertex collection to a graph as an orphan collection (not tied to a specific edge definition).
Insert an edge document into an edge collection, connecting from and to (each a document _id, e.g. 'people/alice').
Optionaloptions: InsertDocumentOptionsTraverse a named graph from a start vertex using AQL's
FOR v, e, p IN min..max DIRECTION start GRAPH graphName syntax,
returning each visited vertex (v), the edge that reached it (e,
null at depth 0), and the full path (p) as vertex/edge arrays.
Start vertex _id, e.g. 'people/alice'.
Name of a graph created with createGraph().
Create an index on a collection. type: 'hash'/'skiplist' are normalized to 'persistent' (see ArangoIndexType).
Drop an index by id or name.
List all indexes on a collection (including the automatic primary/edge indexes).
Fetch a single index's description by id or name.
ArangoStorewraps the officialarangojsdriver'sDatabase/Collection/Graph/CursorAPI in a typed, promise-based convenience layer covering document CRUD, AQL queries, graphs, and indexes.