High-level AQL operations

High-level operations are the core language constructs of the query language to perform actions like finding and returning data, as well as creating and modifying documents

FOR

The versatile FOR operation can iterate over a collection or View, the elements of an array, or traverse a graph

RETURN

You can use the RETURN operation to produce the result of a query

FILTER

The FILTER operation lets you restrict the results to elements that match arbitrary logical conditions

SEARCH

The SEARCH operation lets you filter Views, accelerated by the underlying indexes

SORT

The SORT operation allows you to specify one or multiple sort criteria and directions to control the order of query results or the elements of arrays

LIMIT

The LIMIT operation allows you to reduce the number of results to at most the specified number and optionally skip results using an offset for pagination

LET

You can use the LET operation to assign an arbitrary value to a variable

COLLECT

The COLLECT operation can group data by one or multiple grouping criteria, retrieve all distinct values, count how often values occur, and calculate statistical properties efficiently

WINDOW

Aggregate adjacent documents or value ranges with a sliding window to calculate running totals, rolling averages, and other statistical properties

REMOVE

You can use the REMOVE operation to delete documents from a collection

UPDATE

You can use UPDATE operations to partially update documents in a collection by adding or updating specific attributes

REPLACE

You can use REPLACE operations to replace documents in a collection by replacing all their attributes except the document keys, IDs, and revisions

INSERT

You can use the INSERT operation to create new documents in a collection

UPSERT

An UPSERT operation either modifies an existing document, or creates a new document if it does not exist

WITH

An AQL query can start with a WITH operation, listing collections that a query implicitly reads from