$ npm install express-session-mongoThis module is an addon for ExpressJS that adds a new Session Storage device.
npm install https://github.com/trottski/express-session-mongo/archive/master.tar.gz
The standard usage, is to just pass an instantiated MongoStore instance to the session plugin.
var xp = require('express'),
MongoStore = require('express-session-mongo');
var app = xp.createServer();
app.configure(function(){
app.use(xp.cookieDecoder());
app.use(xp.session({ store: new MongoStore() }));
app.use(app.router);
});
You can also pass several options to the constructor to tweak your session store:
express-sessions127.0.0.127017sessionsvar CustomServer = new Server(123.456.789.1, 12345, { auto_reconnect: true }, {});
app.use(xp.session({ store: new MongoStore({ server: CustomServer }) }));
MongoDB 2.2 and above supports doing this via an index, see http://docs.mongodb.org/manual/tutorial/expire-data/ To enable this, run
db.sessions.ensureIndex( { "lastAccess": 1 }, { expireAfterSeconds: 3600 } )
Mongo will now remove all sessions older than an hour (every 60 seconds).
Licensed under my standard BSD license.