【问题标题】:callback not working in connect-mongo回调在 connect-mongo 中不起作用
【发布时间】:2015-05-08 12:11:25
【问题描述】:

我使用 connect-mongo 作为会话存储。 连接-mongo@0.4.0.

我的代码是

app.use(express.session({

    store: new MongoStore({
        url: 'mongodb://192.168.1.124:27017/ip_session',
    }, function(e) {
        // Start the app by listening on <port>
        var port = process.env.PORT || config.guiPort;

        var server = app.listen(port);
        console.log('Express app started on port ' + port);
    }),
    // 2 * 60 * 60 * 1000
    cookie: {
        expires: new Date(Date.now() + 7200000)
    },    
    secret: '**********'
}));

直到一切正常,但是当我将 connect-mongo 版本升级到最新版本(0.8.1)时。包含服务器启动脚本的回调不起作用。

function(e) {
    var port = process.env.PORT || config.guiPort;

    var server = app.listen(port);
    console.log('Express app started on port ' + port);
}

更新 connect-mongo 版本后,上述代码无法正常工作。

您的帮助将不胜感激。 提前致谢。

【问题讨论】:

    标签: node.js mongodb express session-store connect-mongo


    【解决方案1】:

    从代码来看,MongoStore 的实例在其(连接)状态发生变化时会发出事件。所以也许这行得通:

    var store = new MongoStore({ url : ... });
    
    store.on('connected', function() {
      // Start the app by listening on <port>
      var port = process.env.PORT || config.guiPort;
    
      var server = app.listen(port);
      console.log('Express app started on port ' + port);
    });
    
    app.use(express.session({
      store: store,
      ...
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 2020-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多