如何使用 nodejs 在 sequelize 中使用事务

Man*_*ran 3 node.js sequelize.js

下面的代码抛出“TypeError: sequelize.transaction is not a function”错误

sequelize.transaction(transaction => {
          myDb.myTable.findAll({attributes:['IMAGEPATH'],where:{ID : customerId}})
          .then((result) => {

          ....

          }).then((commitResult) =>{
                //commit
          }).catch((rollbackErr) =>{
                //rollback  

          })
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 7

看起来您正在尝试transaction在定义上引用函数而不是实例,即

const sequelize = require('sequelize');
sequelize.transaction(...); // doesn't exist
Run Code Online (Sandbox Code Playgroud)

您需要创建一个 sequelize 实例并transaction在此上使用该函数

const Sequelize = require('sequelize');
const db = new Sequelize(...);
db.transaction(...); // works
Run Code Online (Sandbox Code Playgroud)

请参阅文档