express.js 路由中的原始查询使用 sequelize
Raw query in express.js route using sequelize
我对使用 sequelize 很陌生。我正在 运行 使用 sequelize cli 创建的 node.js 项目,并尝试 运行 在我的应用程序的 "put" 快速路由中进行如下原始查询,但不断出现错误:
Sequelize.query is not a function
我正在尝试 运行 的查询是
UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)
如能就如何让此查询与我的项目一起工作提供任何帮助,我们将不胜感激。
谢谢。
您必须像这样在 Sequelize
的实例上调用 query
函数:
var sequelize = new Sequelize("logiqua", "root", "", {
host: "localhost",
dialect: "mysql",
logging: function () { },
pool: {
max: 5,
min: 0,
idle: 10000
},
});
// raw query
sequelize.query("UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)",
{ type: sequelizeLogista.QueryTypes.UPDATE }).then(()=>{
console.log("done")
});
我对使用 sequelize 很陌生。我正在 运行 使用 sequelize cli 创建的 node.js 项目,并尝试 运行 在我的应用程序的 "put" 快速路由中进行如下原始查询,但不断出现错误:
Sequelize.query is not a function
我正在尝试 运行 的查询是
UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)
如能就如何让此查询与我的项目一起工作提供任何帮助,我们将不胜感激。
谢谢。
您必须像这样在 Sequelize
的实例上调用 query
函数:
var sequelize = new Sequelize("logiqua", "root", "", {
host: "localhost",
dialect: "mysql",
logging: function () { },
pool: {
max: 5,
min: 0,
idle: 10000
},
});
// raw query
sequelize.query("UPDATE package_values pk INNER JOIN packages p ON pk.package_id = p.id SET pk.value = true WHERE pk.feature_id = 2 AND (p.based_on = 2 OR pk.package_id = 2)",
{ type: sequelizeLogista.QueryTypes.UPDATE }).then(()=>{
console.log("done")
});