Невозможно получить доступ к прототипным функциям connect-mongo - PullRequest
1 голос
/ 21 марта 2012

Используя expressjs и connect-mongo, я не могу получить доступ ни к одной из прототипированных функций, которые установлены в файле connect-mongo.js (https://github.com/kcbanner/connect-mongo/blob/master/lib/connect-mongo.js)

В моем случае я пытаюсь получить доступ к 'get 'в функции obj MongoStore и получаю чудесную ошибку:

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);
  });

Как вы думаете, что проблема будет здесь?Мне нужно создать объект в другом месте, может быть, для того, чтобы подобрать прототипные функции?

1 Ответ

0 голосов
/ 01 мая 2012

Да, вам нужно создать экземпляр 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);
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...