Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将node.js express中的sequelize与控制器一起使用?_Javascript_Node.js_Sequelize.js - Fatal编程技术网

Javascript 如何将node.js express中的sequelize与控制器一起使用?

Javascript 如何将node.js express中的sequelize与控制器一起使用?,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,首先是一个一般性的问题:如果我使用原始sql请求,或者每个会话/请求使用一个对象,那么我应该为所有请求使用一个sequelize对象(实例)吗?我可以对所有请求使用相同的模型对象(实例)吗。(线程安全?) 如果使用express crontroler/router模型,应将sequelize对象放置在何处?作为服务器文件中的全局文件 谢谢如果我正确理解了你的问题,那么“一个sequelize对象(实例)”的意思是: const sequelize = new Sequelize( confi

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

如果使用express crontroler/router模型,应将sequelize对象放置在何处?作为服务器文件中的全局文件


谢谢

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

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

如果你有,我会提供一些代码示例。它将帮助人们了解你所做的事情的背景。