Я закончил тем, что решил свою проблему, хотя я думаю, что многие мои головные боли связаны с моим плохим пониманием того, как следует обрабатывать сессии. Хотя это не то, чего я в конечном итоге хотел, в конечном итоге это дало мне тот же результат.
Просмотр кода Патрика заставил меня задуматься о том, что это, вероятно, какая-то проблема с областями видимости / привязки. С помощью нескольких настроек я, наконец, смог получить доступ к прототипированным функциям connect-mongo, создав объект mongoStore Obj вне сеанса Express, а затем передав этот объект в express.session.
MongoStore = require('connect-mongo')
var mongoSession = new MongoStore(conf.db);
//Configure Session Db
var conf = {
db: {
db: 'sessions',
host: '127.0.0.1',
},
secret: 'kittens'
};
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
secret: conf.secret,
maxAge: new Date(Date.now() + 3600000),
store: mongoSession
}));
app.use(allowCrossDomain);
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
Теперь я смог легко получить / установить предыдущие сеансы через mongostore obj. Я знаю, что, возможно, есть другие способы сделать то же самое (то есть получить прямой доступ к mongodb), хотя я хотел посмотреть, что возможно, просто с помощью самого mongostore obj.
Также спасибо за мысли об этом Патрике, определенно помогли мне мыслить в правильном направлении.
Надеюсь, это кому-нибудь поможет!