1

セッションストアとして connect-mongo を使用しました。connect-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 のバージョンを更新した後、上記のコードが機能しません。

あなたの助けはかなりのものです。前もって感謝します。

4

1 に答える 1

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,
  ...
});
于 2015-05-08T12:54:50.907 に答える