Javascript 如何使用Node.js和mongodb存储会话值?

Javascript 如何使用Node.js和mongodb存储会话值?,javascript,session,mongodb,node.js,Javascript,Session,Mongodb,Node.js,如何让会话使用Node.js,express@2.0.0mongodb呢?我现在尝试使用connect mongo,如下所示: var config = require('../config'), express = require('express'), MongoStore = require('connect-mongo'), server = express.createServer(); server.configure(function() { se

如何让会话使用Node.js,express@2.0.0mongodb呢?我现在尝试使用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更好的文档化模块?

我对Node.js或Express没有经验,因此我无法立即看出您的方法有什么问题。然而,我已经使用MongoDB来存储flash消息和其他会话内容的会话

您可以看到我的简单URL缩短器的源代码(这实际上使URL目前相当长—这只是一个练习;)。我使用会话存储当前用户缩短的URL列表


它并不漂亮,但我知道它很管用。

看看DailyJS的这个系列。它使用MongoDB和会话管理


这是一个相当多的文章列表,更直接的链接是:require('connect-mongo')将会话信息存储为字符串,只要您知道。