Bulk Operations
✋ Caution
To avoid performance issues, bulk operations are not allowed on relations.
createMany()
Creates multiple entries.
Syntax: createMany(parameters) => { count: number, ids: id[] }
Parameters
| Parameter | Type | Description | 
|---|---|---|
| data | Array of objects | Array of input data | 
✋ Caution
- MySQL will only return an array of one id containing the last inserted id, not the entire list.
- Prior to Strapi v4.9.0, createMany()only returns thecount.
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