在sequelize Bulk中使用包含关联创建事务



我正在使用sequelize into Nestjs,我试图在我的联系人表中插入一个新的联系人,我想发送一个联系人列表到一个bulkcreate函数,像这样:

await this.contactModel.bulkCreate(contactosList,transactionHost, {
include: [
{
model: Correo,
as: 'correo',
},
{
model: Telefono,
as: 'telefono'
}
]
})

但是我希望这是一个事务,在我的服务的顶部,我开始了一个托管的序列化事务,如果我将事务传递到我的函数中的第二个属性,它说它只期望2个参数,收到3个。

根据官方文档bulkCreate不支持include选项,支持transaction选项。
因此,如果您想创建联系人以及相关模型,那么您需要在for循环中创建它们,如下所示:

for (const contact of contactosList) {
const newContact = await this.contactModel.create(contact, {
include: [
{
model: Correo,
as: 'correo',
},
{
model: Telefono,
as: 'telefono'
}
],
transaction // this option should be indicated right next to `include` option
})
}