Ich habe eine Anwendung mit NodeJS, Express, MongoDB und Connect-Mongo.Connect-Mongo-Sitzungen werden nicht automatisch gelöscht
Mein Problem ist, dass Sitzungen nicht automatisch aus MongoDB gelöscht werden, wenn sie ablaufen, so dass die Datenbankgröße wächst, bis die Festplatte voll ist.
Der Entwickler von connect-Mongo wrote a comment:
connect-Mongo wird MongoDB bitten alle Sitzungen zu entfernen, die vor dem aktuellen Datum abgelaufen haben.
Aber das scheint in meinem Fall nicht zu passieren.
Meine Konfiguration ist:
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'));
});
Und ich laufe derzeit die folgenden Versionen:
- Knoten: 0.7.0-pre
- connect-Mongo: 0,1 .7
- express: 2.5.2
- verbinden: 1.8.5
Danke Stennie, das ist eine große Hilfe. In Bezug auf die maxAge-Einstellung, sollte diese in Sekunden oder Millisekunden angegeben werden? Zum Beispiel neues Datum (Date.now() + 86400) oder neues Date (Date.now() + 86400 * 1000)? –
@KevanStannard: Sorry, verpatzt das MaxAge .. Beispiel oben korrigiert. Du hast recht, es sollte Millisekunden sein. Ich wurde abgelenkt und dachte über das Verfallsdatum nach. – Stennie
Danke für Ihre Hilfe! –