如何使用Node.js,express@2.0.0和mongodb进行会话?我现在正试图像这样使用connect-mongo:
var config = require('../config'),
express = require('express'),
MongoStore = require('connect-mongo'),
server = express.createServer();
server.configure(function() {
server.use(express.logger());
server.use(express.methodOverride());
server.use(express.static(config.staticPath));
server.use(express.bodyParser());
server.use(express.cookieParser());
server.use(express.session({
store: new MongoStore({
db: config.db
}),
secret: config.salt
}));
});
server.configure('development', function() {
server.use(express.errorHandler({
dumpExceptions: true,
showStack: true
}));
});
server.configure('production', function() {
server.use(express.errorHandler());
});
server.set('views', __dirname + '/../views');
server.set('view engine', 'jade');
server.listen(config.port);
然后,我在一个server.get回调试图使用
req.session.test = 'hello';
将该值存储在会话中,但不存储在请求之间。
它可能需要更多的东西来存储会话值,怎么样?是否有比connect-mongo更好的文档化模块?
答案 0 :(得分:4)
看看DailyJS的这个系列。它使用MongoDB和会话管理
答案 1 :(得分:2)
我对Node.js或Express没有经验,所以我无法立即看到你的方法出了什么问题。但是,我已经让Express使用MongoDB来存储flash消息和其他会话内容的会话。
您可以看到我的简短网址缩短程序here的源代码(这实际上使得网址目前很长 - 这只是一个练习;))。我使用会话来存储当前用户缩短的URL列表。
它不漂亮,但我知道它有效。