Documents
single-operations
single-operations
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'

Single Operations with the Query Engine API#

findOne()#

Finds the first entry matching the parameters.

Syntax: findOne(parameters) ⇒ Entry

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
whereWhereParameterFilters to use
offsetIntegerNumber of entries to skip
orderByOrderByParameterOrder definition
populatePopulateParameterRelations to populate

Example#

const entry = await strapi.db.query('api::blog.article').findOne({
  select: ['title', 'description'],
  where: { title: 'Hello World' },
  populate: { category: true },
});

findMany()#

Finds entries matching the parameters.

Syntax: findMany(parameters) ⇒ Entry[]

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
whereWhereParameterFilters to use
limitIntegerNumber of entries to return
offsetIntegerNumber of entries to skip
orderByOrderByParameterOrder definition
populatePopulateParameterRelations to populate

Example#

const entries = await strapi.db.query('api::blog.article').findMany({
  select: ['title', 'description'],
  where: { title: 'Hello World' },
  orderBy: { publishedAt: 'DESC' },
  populate: { category: true },
});

findWithCount()#

Finds and counts entries matching the parameters.

Syntax: findWithCount(parameters) => [Entry[], number]

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
whereWhereParameterFilters to use
limitIntegerNumber of entries to return
offsetIntegerNumber of entries to skip
orderByOrderByParameterOrder definition
populatePopulateParameterRelations to populate

Example#

const [entries, count] = await strapi.db.query('api::blog.article').findWithCount({
  select: ['title', 'description'],
  where: { title: 'Hello World' },
  orderBy: { title: 'DESC' },
  populate: { category: true },
});

create()#

Creates one entry and returns it.

Syntax: create(parameters) => Entry

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
populatePopulateParameterRelations to populate
dataObjectInput data

Example#

const entry = await strapi.db.query('api::blog.article').create({
  data: {
    title: 'My Article',
  },
});

update()#

Updates one entry and returns it.

Syntax: update(parameters) => Entry

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
populatePopulateParameterRelations to populate
whereWhereParameterFilters to use
dataObjectInput data

Example#

const entry = await strapi.db.query('api::blog.article').update({
  where: { id: 1 },
  data: {
    title: 'xxx',
  },
});

delete()#

Deletes one entry and returns it.

Syntax: delete(parameters) => Entry

Parameters#

ParameterTypeDescription
selectString, or Array of stringsAttributes to return
populatePopulateParameterRelations to populate
whereWhereParameterFilters to use

Example#

const entry = await strapi.db.query('api::blog.article').delete({
  where: { id: 1 },
});