Node.js 如何在sequelize中使用绑定获取原始sql?

Node.js 如何在sequelize中使用绑定获取原始sql?,node.js,sequelize.js,Node.js,Sequelize.js,我正试图找到一种方法来获取带有绑定的原始SQL 以下内容适用于Sequelize模型: let conditions = { color: { [Sequelize.Op.in]: ['blue', 'yellow'] }, type: 'active' }; let options = { limit: 10 }; let sql = await sequelize.dialect.QueryGenerator.selectQuery('widgets', { where:

我正试图找到一种方法来获取带有绑定的原始SQL

以下内容适用于Sequelize模型:

let conditions = {
   color: { [Sequelize.Op.in]: ['blue', 'yellow'] },
   type: 'active'
};

let options = { limit: 10 };

let sql = await sequelize.dialect.QueryGenerator.selectQuery('widgets',
{
  where: conditions,
  ...options    
});
上述产出

SELECT * 
FROM "widgets" 
WHERE "widgets"."color" IN ('blue', 'yellow') AND "widgets"."type" = 'active' 
LIMIT 10;
如何通过绑定获取原始sql查询的sql

sequelize.query(`
SELECT * 
FROM widgets
WHERE color IN (:colors)
`, 
{
  raw: true,
  type: QueryTypes.SELECT,
  replacements: {
    colors: ['blue', 'yellow']
  }
});

我们可以使用sequelize
getWhereConditions
方法生成where子句

let sql = await sequelize.dialect.QueryGenerator.getWhereConditions(
      conditions,
      'widgets',
    );