# Query Engine API: Bulk Operations

✋ CAUTION

To avoid performance issues, bulk operations are not allowed on relations.

# createMany()

Creates multiple entries and returns the number of entries created along with their IDs.

If you are using MySQL as your RDMS, createMany will not return the IDs of the newly created entries.

Syntax: createMany(parameters) => { count: number, ids: number[] }

# Parameters

Parameter Type Description
data Array of objects Array of input data

# Example

await strapi.db.query('api::blog.article').createMany({
  data: [
    {
      title: 'ABCD',
    },
    {
      title: 'EFGH',
    },
  ],
});

// { count: 2, ids: [1, 2] }

# updateMany()

Updates multiple entries matching the parameters.

Syntax: updateMany(parameters) => { count: number }

# Parameters

Parameter Type Description
where WhereParameter Filters to use
data Object Input data

# Example

await strapi.db.query('api::shop.article').updateMany({
  where: {
    price: 20,
  },
  data: {
    price: 18,
  },
});

// { count: 42 }

# deleteMany()

Deletes multiple entries matching the parameters.

Syntax: deleteMany(parameters) => { count: number }

# Parameters

Parameter Type Description
where WhereParameter Filters to use

# Example

await strapi.db.query('api::blog.article').deleteMany({
  where: {
    title: {
      $startsWith: 'v3',
    },
  },
});

// { count: 42 }

# Aggregations

# count()

Counts entries matching the parameters.

Syntax: count(parameters) => number

# Parameters

Parameter Type Description
where WhereParameter Filters to use
const count = await strapi.db.query('api::blog.article').count({
  where: {
    title: {
      $startsWith: 'v3',
    },
  },
});

// 12