sql >> データベース >  >> NoSQL >> MongoDB

NodeJS + Express+Mongoセッションストレージ

    さまざまなモジュールの問題で終わりました:connect-session-mongo / express-session-mongo / connect-mongo、connect 2.0.1を使用し、Expressはconnect1.8.5を使用します。

    どうやらここでの依存関係の衝突により、セッションストアモジュールが「req.secret」プロパティにアクセスできなくなったようです。

    それを機能させるために、Expressと同じように、connect1.8.5をまだ使用しているモジュールconnect-mongodbの使用を終了しました。

    以前はユーザーエラーでしたがconnect-mongodbを機能させることができなかった理由は、頭の代わりにオンラインの例からコピー/貼り付けを使用するのに一生懸命努力しました。

    これが、connect-mongodbで機能するようになった構成コードです:

    var Session = require('connect-mongodb');
    
    app.configure('production', function(){
      var oneWeek = 657450000;
      app.use(express.static(__dirname + '/../public', { maxAge: oneWeek }));
    
      var session = express.session({
            store: new Session({
                  url: 'mongodb://localhost:27017/test', 
                  maxAge: 300000
            }),
            secret: 'superTopSecret' 
      });
      app.use(session);
    
      app.use(mongooseAuth.middleware());
      app.use(require('./mySite').middleware());
      app.use(express.methodOverride());
      app.use(express.errorHandler());  
    });
    

    これがこの問題に遭遇した他の人に役立つことを願っています。この解決策について何か提案/改善があれば、私はそれを聞いてうれしいです。 :)



    1. 返されたレコードの不要なフィールド(ネストされたフィールド)を除外する方法

    2. MongoDBでの長時間実行操作の管理

    3. MongoDBの単純なHTTP/TCPヘルスチェック

    4. TypeError:db.findWConditionandlerは関数MongoDBではありません