使用expressjs和connect-mongo 我无法访问 connect-mongo.js 文件 ( https://github.com/kcbanner/connect-mongo/blob/master/lib/connect-mongo.js ) 中设置的任何原型(prototype)函数
就我而言,我尝试访问 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);
});
您认为这里的问题是什么?我是否需要在另一个地方创建对象才能获取原型(prototype)函数?
最佳答案
是的,您需要创建一个 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);
});
关于node.js - 无法访问 connect-mongo 的原型(prototype)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9809328/