Documents
order-pagination
order-pagination
Type
External
Status
Published
Created
Mar 5, 2026
Updated
Mar 5, 2026

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 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,
});