如何设置connect-mongo(或使用mongoose中的会话)

Leg*_*dre 5 connect mongoose mongodb express

我正在使用ExpressJS和Mongoose.

var MongoStore = require('connect-mongo')(express);
var sessionStore = new MongoStore({db: 'myappsession'});

app.use(express.session({ secret: "myappsecret", store:sessionStore }));
Run Code Online (Sandbox Code Playgroud)

这导致"MongoError:错误:未经授权的数据库".我想我需要传递我的登录凭据.我也有,

var mongoose = require('mongoose');
var db = mongoose.createConnection('<omitted username, password and address>', 'myappsession');
Run Code Online (Sandbox Code Playgroud)

我猜connect-mongo需要这些信息才能登录我的数据库来创建会话存储?

如何通过connect-mongo登录信息?或者我做错了吗?

Leg*_*dre 3

就我而言,由于我已经在积极使用 Mongoose,所以我最终使用了 Mongoose 的解决方案。

1.安装会话猫鼬

https://github.com/donpark/session-mongoose

2. 使用本教程作为指南。

http://mikevalstar.com/Blog/107/Coding_with_Nodejs_Part_31_Mongoose_Sessions

3. 特别是,我对本教程的这一行有疑问。

url: "mongodb://localhost/mv"
Run Code Online (Sandbox Code Playgroud)

这应该是这样的,

url: "username:password@url/testdatabase"
Run Code Online (Sandbox Code Playgroud)

然后,会话将存储在“sessions”集合中名为“testdatabase”的数据库中。

我希望这个答案可以帮助某人避免一些沮丧。:)