Optional
allowIf set to true
, the query will be executed with support for dirty reads
enabled, permitting ArangoDB to return a potentially dirty or stale result
and arangojs will load balance the request without distinguishing between
leaders and followers.
Note that dirty reads are only supported for read-only queries, not data
modification queries (e.g. using INSERT
, UPDATE
, REPLACE
or
REMOVE
) and only when using ArangoDB 3.4 or later.
Default: false
Optional
allowIf set to true
, cursor results will be stored by ArangoDB in such a way
that batch reads can be retried in the case of a communication error.
Default: false
Optional
batchNumber of result values to be transferred by the server in each network roundtrip (or "batch").
Must be greater than zero.
Optional
cache?: booleanIf set to false
, the AQL query results cache lookup will be skipped for
this query.
Default: true
Optional
count?: booleanUnless set to false
, the number of result values in the result set will
be returned in the count
attribute. This may be disabled by default in
a future version of ArangoDB if calculating this value has a performance
impact for some queries.
Default: true
.
Optional
failIf set to true
, the query will throw an exception and abort if it would
otherwise produce a warning.
Optional
fillIf set to false
, the query data will not be stored in the RocksDB block
cache. This can be used to avoid thrashing he block cache when reading a
lot of data.
Optional
fullIf set to true
and the query has a LIMIT
clause, the total number of
values matched before the last top-level LIMIT
in the query was applied
will be returned in the extra.stats.fullCount
attribute.
Optional
intermediateMaximum number of operations after which an intermediate commit is automatically performed.
Optional
intermediateMaximum total size of operations in bytes after which an intermediate commit is automatically performed.
Optional
maxControls after how many execution nodes in a query a stack split should be performed.
Default: 250
(200
on macOS)
Optional
maxLimits the maximum number of plans that will be created by the AQL query optimizer.
Optional
maxMaximum allowed execution time before the query will be killed in seconds.
If set to 0
, the query will be allowed to run indefinitely.
Default: 0
Optional
maxMaximum size of transactions in bytes.
Optional
maxLimits the maximum number of warnings a query will return.
Optional
memoryMaximum memory size in bytes that the query is allowed to use. Exceeding this value will result in the query failing with an error.
If set to 0
, the memory limit is disabled.
Default: 0
Optional
optimizer?: { An object with a rules
property specifying a list of optimizer rules to
be included or excluded by the optimizer for this query. Prefix a rule
name with +
to include it, or -
to exclude it. The name all
acts as
an alias matching all optimizer rules.
Optional
profile?: boolean | numberIf set to 1
or true
, additional query profiling information will be
returned in the extra.profile
attribute if the query is not served from
the result cache.
If set to 2
, the query will return execution stats per query plan node
in the extra.stats.nodes
attribute. Additionally the query plan is
returned in extra.plan
.
Optional
retryIf set to a positive number, the query will automatically be retried at most this many times if it results in a write-write conflict.
Default: 0
Optional
satellite(Enterprise Edition cluster only.) Limits the maximum time in seconds a DBServer will wait to bring satellite collections involved in the query into sync. Exceeding this value will result in the query being stopped.
Default: 60
Optional
skip(Enterprise Edition cluster only.) If set to true
, collections
inaccessible to current user will result in an access error instead
of being treated as empty.
Optional
stream?: booleanIf set to true
, the query will be executed as a streaming query.
Optional
timeout?: numberMaximum time in milliseconds arangojs will wait for a server response. Exceeding this value will result in the request being cancelled.
Note: Setting a timeout for the client does not guarantee the query
will be killed by ArangoDB if it is already being executed. See the
maxRuntime
option for limiting the execution time within ArangoDB.
Optional
ttl?: numberTime-to-live for the cursor in seconds. The cursor results may be garbage collected by ArangoDB after this much time has passed.
Default: 30
Options for executing a query.
See Database#query.