# 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