【发布时间】:2015-02-20 20:59:31
【问题描述】:
我是第一次从头开始构建我的节点项目,我想知道如何从所有模型文件中访问 db 对象?
我的项目结构是这样的:
project/
|-> controllers/
| |-> auth.js
|
|-> lib/
|-> models/
| |-> token.js
| |-> user.js
|
|-> views/
|-> app.js
目前,mongo 连接在 app.js 上启动,当用户向服务器发出请求并且 db 对象存储在 req 上以便可以从控制器访问时,..
// Set db on req
app.use(function(req, res, next) {
req.db = mongoskin.db( /* connect string */ );
next();
});
现在的问题是: 当我在控制器上时,我可以使用 req.bd 对象进行查询。但我只想在我的模型上使用数据库,所以每次我需要模型时我都必须传递这个对象..
我有更好的解决方案吗?模型必须连接到数据库?还是我完全错了?
感谢您的帮助!
额外问题:什么是数据库连接的最佳选择?
- 在服务器启动时创建一个并一直保持它?
- 实际:当用户提出请求时创建一个并仅在此请求中使用它?
【问题讨论】:
标签: node.js mongodb model-view-controller model