Node.js 如何在sequelize中使用绑定获取原始sql?
我正试图找到一种方法来获取带有绑定的原始SQL 以下内容适用于Sequelize模型: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:
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',
);