使用Sequelize作为ORM在Sails应用程序中使用原始查询

时间:2016-06-07 22:29:36

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

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

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

现在我来到第二个路障和实际问题本身。如何在我的sails应用程序中简单地执行sequelize.query?在使用sequelize的独立节点应用程序中,我没有遇到任何问题。然而,这个风帆应用程序已经离我而去,我不确定实际调用什么对象.query来自!我正在寻找的东西就像

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

可悲的是,上面给了我sequelize.query is not a function

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

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

1 个答案:

答案 0 :(得分:1)

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

“sequelize”是这个插件的全球性。所以不要添加sequelize = require 'sequelize'。 只需按预期调用sequelize.query原始查询(区分大小写)。

然后您的原始查询应该有效!谢谢过去的我。