我如何传递数据库参考
nano = require('nano')('http://127.0.0.1:5984')
db = nano.use('database')
到资源'User'(加载express-resource)?
我试过了:
app.resource('user', require('./routes/user'), {db: db});
但这不起作用。
答案 0 :(得分:4)
您希望将db
传递给user.js路由文件。你正在做的是将它传递给app.resource
函数。
app.resource('user', require('./routes/user')(db));
您必须将user.js文件包装在可以接收db
作为参数的函数中。
module.exports = function(db) {
return {
index: function(req, res) {}
, new: function(req, res) {}
, create: function(req, res) {}
// etc
};
};
如果你不喜欢这种结构的方式,你也可以使用中间件。
app.use(function(req, res, next) {
req.db = db;
next();
});