【问题标题】:How to set Session variable in Node.js with Angular.js and MongoDb如何使用 Angular.js 和 MongoDb 在 Node.js 中设置 Session 变量
【发布时间】:2014-10-09 00:21:50
【问题描述】:

我在 node.js 中设置会话变量时遇到问题,我们在后端使用 MongoDb,在前端使用 Angular.js。

出现错误 错误:大多数中间件(如会话)不再与 Express 捆绑,必须 分开安装。请参阅https://github.com/senchalabs/connect#middleware

请指导我。

【问题讨论】:

  • 如果您甚至没有显示任何代码,您对我们有什么期望......

标签: node.js session express


【解决方案1】:

你需要使用 cookie 解析器、express session、mongodb 作为 session 存储,在 express 中很容易配置。

在您的快速配置中:

var session = require('express-session'),
cookieParser = require('cookie-parser'),
mongoStore = require('connect-mongo')({
        session: session
    });

module.exports = function(db) {
var app = express();
    // CookieParser should be above session
        var cp =cookieParser;
        app.use(cp());

        // Express MongoDB session storage
        var mStore = new mongoStore({
                db: db.connection.db,
                collection: 'sessions'
            });

        app.use(session({
            secret: 'any random string',
            store: mStore,
            cookie: {httpOnly: false}, //optional
            key:config.'connect.sid',
        }));
};

其中 db 是您的数据库实例(可能是 mongoose)

var db = mongoose.connect('mongodb://your.ip/database.name');

您可以覆盖所有建议的配置。

【讨论】:

  • 谢谢@jack.the.ripper。由于我是 node.js 的新手,在 key:config.'connect.sid' 处出现错误,你能解释一下吗?
猜你喜欢
  • 1970-01-01
  • 2020-05-31
  • 2013-08-25
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多