我需要在续集事务中记录一个对象数组。
我有一个续集交易,我在其中录制了一个项目(例如(。然后我需要记录一些任务,我用bulkCreate做了,但后来我意识到我逃脱了直接从模型任务调用bulkCreate的事务。
try {
const transaction = await db.transaction(t => {
return Project.create(
{ ...req.body.projectFull.entity },
{ transaction: t }
).then(
projectCreated => {
let tarefas = req.body.projectFull.tasks;
const addProjectId = function(object) {
object.projectId = projectCreated.dataValues.id;
return object;
};
let criarTarefas = tarefas.map(addProjectId);
Task.bulkCreate(criarTarefas);
},
{ transaction: t }
);
});
我希望让批量创建在我的事务中工作,而不是直接从模型中工作。我提供的代码工作正常并记录数据,但它在批量创建时逃脱了事务
嘿,
我必须做类似的事情,但我还没有做到,但我当时已经阅读了它,示例如下
return sequelize.transaction(t => {
// chain all your queries here. make sure you return them.
return User.create({
firstName: 'Abraham',
lastName: 'Lincoln'
}, {transaction: t}).then(user => {
return user.setShooter({
firstName: 'John',
lastName: 'Boothe'
}, {transaction: t});
});
}).then(result => {
// Transaction has been committed
// result is whatever the result of the promise chain returned to the transaction callback
}).catch(err => {
// Transaction has been rolled back
// err is whatever rejected the promise chain returned to the transaction callback
});
在我看来,上面的评论可能是您的问题......"确保你归还它们"...您可能错过了链条第二部分的退货