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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
where | WhereParameter | Filters to use |
offset | Integer | Number of entries to skip |
orderBy | OrderByParameter | Order definition |
populate | PopulateParameter | Relations 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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
where | WhereParameter | Filters to use |
limit | Integer | Number of entries to return |
offset | Integer | Number of entries to skip |
orderBy | OrderByParameter | Order definition |
populate | PopulateParameter | Relations 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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
where | WhereParameter | Filters to use |
limit | Integer | Number of entries to return |
offset | Integer | Number of entries to skip |
orderBy | OrderByParameter | Order definition |
populate | PopulateParameter | Relations 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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
populate | PopulateParameter | Relations to populate |
data | Object | Input 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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
populate | PopulateParameter | Relations to populate |
where | WhereParameter | Filters to use |
data | Object | Input 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#
| Parameter | Type | Description |
|---|---|---|
select | String, or Array of strings | Attributes to return |
populate | PopulateParameter | Relations to populate |
where | WhereParameter | Filters to use |
Example#
const entry = await strapi.db.query('api::blog.article').delete({
where: { id: 1 },
});