无法访问connect-mongo的原型函数

问题描述 投票:0回答:1

使用expressjs和connect-mongo 我无法访问 connect-mongo.js 文件中设置的任何原型函数(https://github.com/kcbanner/connect-mongo/blob/master/lib/connect-mongo.js

在我的例子中,我试图访问 MongoStore obj 函数上的“get”并得到可爱的错误:

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

您认为这里的问题是什么?我是否需要在另一个地方创建对象才能获取原型函数?

node.js mongodb express node.js-connect connect-mongo
1个回答
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);
  });
© www.soinside.com 2019 - 2024. All rights reserved.