我试图将一些变量传递给我的路由,但看起来似乎没有正确。我有这个内容db.js:将变量传递给路由
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/dowhat');
/**
* Schema definitions.
*/
var User = new Schema({
name : { type : String, required : true }
, pass : { type : String, required : true }
});
var List = new Schema({
_from : { type : Schema.Types.ObjectId, ref : 'User' }
, _to : { type : Schema.Types.ObjectId, ref : 'User' }
, title : String
, description : String
, created : { type : Date, default : Date.now }
, updated : { type : Date, default : Date.now }
});
exports.users = mongoose.model('User', User);
exports.lists = mongoose.model('List', List);
而且我有这个在我的app.js:
app.use(function(req, res, next) {
db.users.findOne({ name : 'foo' }, '_id', function(err, user) {
req.session.user = user._id;
});
next();
});
req.session.user
是undefined
,当我试图航线上/ index.js:
exports.index = function(req, res) {
console.log(req.session.user);
res.render('index');
}
我也尝试用res.locals.user
替换req.session.user
,但在routes/index.js时它仍然为undefined
。
这可能是一个愚蠢的问题,但你在做'var db = require('./ db');' – Menztrual