You can order results returned by Appwrite Databases by using an order query. For best performance, create an index on the column you plan to order by.
Ordering one column
When querying using the listRows endpoint, you can specify the order of the rows returned using the Query.orderAsc()
and Query.orderDesc()
query methods.
Multiple columns
To sort based on multiple columns, simply provide multiple query methods. For better performance, create an index on the first column that you order by.
In the example below, the movies returned will be first sorted by title
in ascending order, then sorted by year
in descending order.
Ordering by sequence
For numeric ordering based on insertion order, you can use the $sequence
field, which Appwrite automatically adds to all rows. This field increments with each new insert.
The $sequence
field is useful when you need:
- Consistent ordering for pagination, especially with high-frequency inserts
- Reliable insertion order tracking when timestamps might not be precise enough
- Simple numeric ordering without managing custom counter fields