# Query Engine API: Single Operations

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