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

MongoDB:コレクションでのTTLインデックスの設定中にエラーが発生しました:セッション

    コメントで述べたように、基本的にExpressは、セッションストアが完全に接続される前に接続を受信して​​います。解決策は、接続が発生するのを待ってから、アプリケーションがリスニングを開始できるようにすることです。

    MongoStoreの作成時にコールバックを使用するか、すでにアクティブな接続を渡すことで、この問題を回避できます。

    connect-mongoの使用例 のコールバック

    var sessionStore = new MongoStore({ url: 'someConnectionUrl', db: 'audio-drop' }, function(e) {
    
      var cookieParser = express.cookieParser('waytoblue');
      app.use(cookieParser);
    
      app.use(express.session({
        store: sessionStore
      }));
    
      app.listen();
    });
    

    簡単なマングースの例

    var mongoose = require('mongoose');
    
    mongoose.connect('localhost', function(e) {
      // If error connecting
      if(e) throw e;
    
      var sessionStore = new MongoStore({ mongoose_connection: mongoose.connection }),
          cookieParser = express.cookieParser('waytoblue');
    
      app.use(cookieParser);
    
      app.use(express.session({
        store: sessionStore
      }));
    
      app.listen();
    });
    


    1. Mongodb/mongoose挿入は関数ではありません

    2. MongoDBで数十億の小さなドキュメントを高速検索するための戦略

    3. MongoDB:アップサーティングとサブドキュメント

    4. MongoDBでfeatureCompatibilityVersionを設定する方法