【问题标题】:How to use sequelize in node.js express with controllers?如何在 node.js express 中使用 sequelize 和控制器?
【发布时间】:2018-09-26 11:51:30
【问题描述】:

首先是一个一般性问题:如果我使用原始 sql 请求或每个会话/请求一个对象,我应该为所有请求使用一个 sequelize 对象(实例)吗?我可以对所有请求使用相同的模型对象(实例)吗? (线程安全?)

如果我使用 express crontroler/router 模型,我应该在哪里放置 sequelize 对象?作为服务器文件中的全局变量?

谢谢

【问题讨论】:

  • 我会提供一些代码示例,如果你有的话。它将帮助人们了解您正在做的事情。

标签: javascript node.js sequelize.js


【解决方案1】:

如果我正确理解您的问题,那么“一个续集对象(实例)”的意思是:

const sequelize = new Sequelize(
  config.database,
  config.username,
  config.password,
  config
);

如果是这样,重复使用那个sequelize 变量就可以了。无需为每个请求创建单独的实例。模型也是如此 - 您不需要根据请求创建新模型。 Javascript 没有线程,所以线程安全在这里不是问题。

Express / sequelize 对文件结构没有规定,因此放置 sequelize 对象的位置取决于您。如果您的应用程序很简单,那么可以先将其放在一个服务器文件中。但是,随着您的应用程序的增长,您肯定希望将 sequelize 提取到它自己的文件中,例如 sequelize.js,甚至是几个文件 - 每个模型类型一个 - 例如。博客、类别等,以及将它们分组的索引文件 - 例如:

/models/index.js
/models/blogs.js
/models/categories.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-23
    • 2017-02-18
    • 2011-12-08
    • 2019-04-22
    • 1970-01-01
    • 2021-01-10
    • 2021-03-26
    • 2016-05-04
    相关资源
    最近更新 更多