Tengo una aplicación que utiliza NodeJS, Express, MongoDB y connect-mongo.Connect-mongo sesiones no se eliminan automáticamente
Mi problema es que parece que las sesiones no se eliminan automáticamente de MongoDB cuando caducan, por lo que el tamaño de db crece hasta que el disco está lleno.
El desarrollador de conexión-mongo wrote a comment:
Connect-mongo le preguntará MongoDB para eliminar todas las sesiones que tienen expirado antes de la fecha actual.
Pero esto no parece estar sucediendo en mi caso.
Mi configuración es:
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'));
});
y actualmente estoy ejecutando los siguientes versiones:
- nodo: 0.7.0-pre
- conectar-mongo: 0,1 .7
- express: 2.5.2
- Conectar: 1.8.5
Gracias Stennie, eso es de gran ayuda. En cuanto a la configuración de maxAge, ¿debería especificarse en segundos o milisegundos? Por ejemplo, nueva Fecha (Date.now() + 86400) o nueva Fecha (Date.now() + 86400 * 1000)? –
@KevanStannard: Lo siento, fallé el ejemplo corregido de maxAge. Tienes razón, deberían ser milisegundos. Me desvié de mi mente pensando en la fecha de caducidad. – Stennie
¡Gracias por tu ayuda! –