在使用connect-mongo包进行连接mongo数据库时,会报Cannot read property 'Store' of undefined的错误
相必这个是大家在学Nodejs开发指南时,跑microblog例子时会遇到的问题。
出现这个问题的原因是connect-mongo版本的问题,以后大家在遇到类似的问题的时候,先看看相关包目录下的readme文件,里面有这个包的新用法,已经这个版本和以前版本的区别。
我们看到connect-mongo目录下的readme文件中有这么一段话:
With express:
var express = require('express');
var MongoStore = require('connect-mongo')(express);
app.use(express.session({
secret: settings.cookie_secret,
store: new MongoStore({
db: settings.db
})
}));
With connect:
var connect = require('connect');
var MongoStore = require('connect-mongo')(connect);
所以我们需要这样修改程序:
将var MongoStore = require('connect-mongo') 换成
var MongoStore = require('connect-mongo')(express);
且var express = require('express');这句必须在前面。
这样修改问题就解决了。