【问题标题】:How to store session values with Node.js and mongodb?如何使用 Node.js 和 mongodb 存储会话值?
【发布时间】:2016-07-29 16:42:11
【问题描述】:

如何获得使用 Node.js、express@2.0.0 和 mongodb 的会话?我现在正在尝试像这样使用 connect-mongo:

var config = require('../config'),
    express = require('express'),
    MongoStore = require('connect-mongo'),
    server = express.createServer();

server.configure(function() {
    server.use(express.logger());
    server.use(express.methodOverride());
    server.use(express.static(config.staticPath));
    server.use(express.bodyParser());
    server.use(express.cookieParser());
    server.use(express.session({
        store: new MongoStore({
            db: config.db
        }),
        secret: config.salt
    }));
});

server.configure('development', function() {
    server.use(express.errorHandler({
        dumpExceptions: true,
        showStack: true
    }));
});

server.configure('production', function() {
    server.use(express.errorHandler());
});

server.set('views', __dirname + '/../views');
server.set('view engine', 'jade');

server.listen(config.port);

然后,我正在尝试使用 server.get 回调

req.session.test = 'hello';

将该值存储在会话中,但不存储在请求之间。

它可能需要更多的东西来存储会话值,如何?有比 connect-mongo 更好的文档化模块吗?

【问题讨论】:

标签: javascript session mongodb node.js


【解决方案1】:

看看 DailyJS 的这个系列。它使用 MongoDB 和会话管理

http://dailyjs.com/tags.html#lmawa

【讨论】:

【解决方案2】:

我没有使用 Node.js 或 Express 的经验,所以我无法立即看出你的方法有什么问题。但是,我已经让 Express 使用 MongoDB 来存储用于闪存消息和其他会话内容的会话。

您可以查看我的简单 URL 缩短器 here 的源代码(这实际上使 URL 此刻相当长 - 这只是一个练习;))。我使用会话来存储当前用户已缩短的 URL 列表。

它不漂亮,但我知道它有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多