开发者

How to store session values with Node.js and mongodb?

How do I get sessions working with Node.js, express@2.0.0 and mongodb? I'm now trying to use connect-mongo like this:

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);

I'm then, in a server.get callback trying to use

req.session.test = 'hello';

to store that value in the session, but it's not stored between the requests.

It probobly takes something more that this to store session values, how? Is there a better documented module than connect-mongo?


Take a look at this series from DailyJS. It uses MongoDB and session management

http://dailyjs.com/tags.html#lmawa


I am not experienced with Node.js or Express, so I cannot immediately see what's wrong with your approach. However, I have made Express use MongoDB to store sessions for flash messages and other session stuff.

You can see my source code for a simple URL shortener here (that actually makes the URLs pretty long at the moment - it was just an exercise ;)). I use the session to store a list of URLs that the current user has shortened.

It is not pretty, but I know it works.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜