connect-mongo MongoStore会话如何保存?

我使用Passport实现会话,但为了存储会话,我尝试使用mongoose连接connect-mongo

这是我的代码(会话部分):

 var express = require('express') var mongodb = require('mongodb') var mongoose = require('mongoose') var bodyParser = require('body-parser') var cookie = require('cookie-parser') var connect = require('connect') var passport = require('passport') //var flash = require('connect-flash') var session = require('express-session'); var MongoStore = require('connect-mongo')(session); var LocalStrategy = require('passport-local').Strategy; var app = express() var BSON = mongodb.BSONPure app.use(express.static(__dirname+"/public")) app.use(bodyParser()) app.use(cookie()) app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' })); app.use(passport.initialize()); app.use(passport.session()); mongoose.connect('mongodb://localhost/psicologosTuxtepecDB') var Schema = mongoose.Schema var userCredential = new Schema({ username: String, password: String }, { collection: 'members' }) var userCredentials = mongoose.model('members', userCredential) app.use(session({ secret: 'ziKologiia', clear_interval: 900, cookie: { maxAge: 2 * 60 * 60 * 1000 }, store: new MongoStore({ db : mongoose.connection.db }) })); 

我怀疑是否会起反作用的是app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' })) is using connect模块,但是MongoStoreconfiguration是在express-sessionvariables上设置的。 但是,删除第一个原因导致应用程序无法正常工作(不会进行身份validation/redirect)。

那么,关于我的问题标题。 会话在哪里存储? 我真的以为我可以去我的Mongo数据库,并find任何存储它的集合

我如何在后端(Mongo)甚至Java应用程序中find这样的会话?

connect-mongo 默认 connect-mongo存储在“会话”集合中 。 他们应该在那里,在蒙戈壳或像robomongo任何GUI工具可见。 是的,它是默认创build的。 我会通过mongooose_connection选项,而不是db

从文档:

mongoose_connection的forms是:someMongooseDb.connections [0]使用现有的mongoose连接。 (可选的)

你应该做的一件事是replace

 app.use(connect.session({ secret: 'ilovescotchscotchyscotchscotch' })); 

和你的

 app.use(session({ secret: 'ziKologiia', clear_interval: 900, cookie: { maxAge: 2 * 60 * 60 * 1000 }, store: new MongoStore({ db: mongoose.connection.db }); }));