I have an application using NodeJS, Express, MongoDB and connect-mongo.

My issue is that sessions don’t seem to be automatically deleted from MongoDB when they expire, so the db size grows until the disk is full.

The developer of connect-mongo wrote a comment:

connect-mongo will ask MongoDB to remove all the sessions that have expired before the current date.

But this doesn’t seem to be happening in my case.

My configuration is:

var express = require('express');
var MongoStore = require('connect-mongo');

var sessionStore = new MongoStore({db: 'myappsession'});

var app = express.createServer();

app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser());
    app.use(express.session({ secret: "myappsecret", store:sessionStore }));
    app.use(app.router);
    app.use(express.static(__dirname + '/public'));
});

And I’m currently running the following versions:

  • node: 0.7.0-pre
  • connect-mongo: 0.1.7
  • express: 2.5.2
  • connect: 1.8.5
Edit
Report