2012-03-21 6 views
1

使用expressjsにアクセスし、接続-モンゴ 私は私の場合は、接続-mongo.jsファイル(https://github.com/kcbanner/connect-mongo/blob/master/lib/connect-mongo.js接続し、モンゴのプロトタイプ化機能

に設定されているプロトタイプ化機能のいずれかにアクセスすることができませんすることができませんI MongoStore OBJ機能に「取得」と素敵なエラーになっアクセスしようとしています:ここで

has no method 'get' 

することは、私が使用していたコードです:

Var MongoStore = require('connect-mongo'); 

    ///... express code 

    app.use(express.session({ 
    secret: conf.secret, 
    maxAge: new Date(Date.now() + 3600000), 
    store: new MongoStore(conf.db) 
    })); 

    //....more express code 

    MongoStore.get(sessionId, function(err, result){ 
    console.log(result); 
    }); 

ここで問題になると思いますか?プロトタイプの関数を取得するために別の場所にオブジェクトを作成する必要がありますか?

+0

"MongoStore" objをexpress.session関数のスコープ外に作成し、完全に作成したobjを渡すことで修正しました。私はこの形式的な答えをすぐにここに掲載します。 – Justin

答えて

0

はい、MongoStoreのインスタンスを作成し、そこに「get」を呼び出す必要があります。

var MongoStore = require('connect-mongo'); 
    var sessionStore = new MongoStore(conf.db); // <-- you missed this instantiation 
    ///... express code 

    app.use(express.session({ 
    secret: conf.secret, 
    maxAge: new Date(Date.now() + 3600000), 
    store: sessionStore 
    })); 

    //....more express code 

    sessionStore.get(sessionId, function(err, result){ 
    console.log(result); 
    }); 
関連する問題