Skip to main content

Single Operations

findOne()​

note

Only use the Query Engine's findOne if the Entity Service findOne can't cover your use case.

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()​

note

Only use the Query Engine's findMany if the Entity Service findMany can't cover your use case.

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()​

note

Only use the Query Engine's create if the Entity Service create can't cover your use case.

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()​

note

Only use the Query Engine's update if the Entity Service update can't cover your use case.

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()​

note

Only use the Query Engine's delete if the Entity Service delete can't cover your use case.

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