Ho un'applicazione che utilizza NodeJS, Express, MongoDB e connect-mongo.Le sessioni Connect-mongo non vengono cancellate automaticamente
Il mio problema è che le sessioni non sembrano essere cancellate automaticamente da MongoDB quando scadono, quindi la dimensione db cresce fino a quando il disco è pieno.
Lo sviluppatore di Connect-mongo wrote a comment:
connect-mongo chiederà MongoDB per rimuovere tutte le sessioni che hanno scaduto prima della data corrente.
Ma questo non sembra accadere nel mio caso.
La mia configurazione è:
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'));
});
E Sono attualmente in esecuzione le seguenti versioni:
- nodo: 0.7.0-pre
- collegare-mongo: 0.1 .7
- express: 2.5.2
- Connect: 1.8.5
Grazie Stennie, è un grande aiuto. Per quanto riguarda l'impostazione maxAge, dovrebbe essere specificato in secondi o millisecondi? Ad esempio, nuova data (Date.now() + 86400) o nuova data (Date.now() + 86400 * 1000)? –
@KevanStannard: Siamo spiacenti, ho sbagliato l'esempio corretto di MaxAge .. sopra. Hai ragione, dovrebbe essere millisecondo. Sono stato sviato pensando alla data di scadenza. – Stennie
Grazie per il tuo aiuto! –