import ConsiderDocumentService from '/docs/snippets/consider-document-service.md'
import QueryEnginePrereqs from '/docs/snippets/query-engine-prereqs.md'
Ordering and Paginating with the Query Engine API#
The Query Engine API supports ordering results with the orderBy parameter on single or multiple attributes, including relational ordering, and pagination with offset and limit parameters.
The Query Engine API offers the ability to order and paginate results.
Ordering#
To order results returned by the Query Engine, use the orderBy parameter. Results can be ordered based on a single or on multiple attributes and can also use relational ordering.
Single#
strapi.db.query('api::article.article').findMany({
orderBy: 'id',
});
// single with direction
strapi.db.query('api::article.article').findMany({
orderBy: { id: 'asc' },
});
Multiple#
strapi.db.query('api::article.article').findMany({
orderBy: ['id', 'name'],
});
// multiple with direction
strapi.db.query('api::article.article').findMany({
orderBy: [{ title: 'asc' }, { publishedAt: 'desc' }],
});
Relational ordering#
strapi.db.query('api::article.article').findMany({
orderBy: {
author: {
name: 'asc',
},
},
});
Pagination#
To paginate results returned by the Query Engine API, use the offset and limit parameters:
strapi.db.query('api::article.article').findMany({
offset: 15,
limit: 10,
});