【问题标题】:Raw query in express.js route using sequelizeexpress.js 路由中使用 sequelize 的原始查询
【发布时间】:2017-11-04 01:27:11
【问题描述】:

我对使用 sequelize 很陌生。我正在运行使用 sequelize cli 创建的 node.js 项目,并尝试在我的应用程序的“放置”快速路由中运行如下原始查询,但不断出现错误:

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)

对于如何让这个查询与我的项目一起工作的任何帮助,我们将不胜感激。

谢谢。

【问题讨论】:

  • 您还需要包含您的代码。

标签: mysql node.js express sequelize.js sequelize-cli


【解决方案1】:

您必须像这样在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")
 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 2021-01-13
    • 1970-01-01
    • 2013-09-09
    • 2020-01-30
    • 1970-01-01
    • 2015-07-23
    • 2015-11-30
    相关资源
    最近更新 更多