【问题标题】:Using Raw Queries in a Sails App using Sequelize as ORM在使用 Sequelize 作为 ORM 的 Sails 应用程序中使用原始查询
【发布时间】:2016-10-08 00:15:49
【问题描述】:

我正在使用 Sequelize 作为 ORM 工具的 Sails 应用程序。应用程序和 Sequelize 之间的初始集成是通过sails-hook-sequelize 插件建立的,该插件可以在here 找到。到目前为止,这种方法效果很好,定义和使用模型没有问题。

但是,当我想将 View 定义为 Sequelize 对象时,我遇到了障碍。 Sequelize(还)没有简单的方法来做到这一点。我发现的解决方法是执行原始查询并使用结果填充表。

现在我来谈谈第二个障碍和实际问题本身。如何在我的sails 应用程序中简单地执行一个sequelize.query?在使用 sequelize 的独立节点应用程序中,我没有问题。但是,这个sails 应用程序已经远离我,以至于我不确定实际从哪个对象调用.query!我正在寻找的是简单的东西,比如

Sequelize.query("SELECT * FROM `Document.MyView`", { type: Sequelize.QueryTypes.SELECT})

遗憾的是上面给了我sequelize.query is not a function

我有一个connections.coffee 文件,其中定义了数据库连接。它被命名为“核心”,但是当我尝试Core.query 我得到Core is undefined

似乎我因为堆叠太多东西而错过了一些简单而基本的东西。

【问题讨论】:

    标签: sql node.js sails.js sequelize.js


    【解决方案1】:

    好吧,我的问题来自sails-hook-sequelize 插件。幸运的是我的答案也来自那个插件!

    "sequelize" 在这个插件中是一个全局变量。所以不要添加sequelize = require 'sequelize'。 只需按预期使用 sequelize.query 调用原始查询(区分大小写)。

    那么您的原始查询应该可以工作了!过去的感谢。

    【讨论】:

    • 当我尝试在我的控制器中调用 sequelize.query(myRawQueryString) 时,我碰巧收到错误 ReferenceError: sequelize is not defined。当 sequelize 是一个全局对象时,怎么可能。请帮忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2023-03-23
    相关资源
    最近更新 更多