疑问,connect-mongo.js中出错 var Store = connect.session.Stroe;
发布于 12 年前 作者 384324085 13786 次浏览 最后一次编辑是 8 年前

终端出错显示是:Cannot read property ‘Store’ of undefined,我开始以为是Store没有定义,就去app.js这个系统入口文件里去看,发现: app.use(express.session({ secret: settings.cookieSecret, store: new MongoStore({ db: settings.db }) })); 发现可能是这个store写错了,于是我将其改为Store。但是重启服务器,终端还是报相同错,我于是又找了一些文件看,发现也没有什么问题(ps:之前终端一直报找不着…/settings,这个问题,我后来改好了,个人感觉书上得代码,可能有问题)

14 回复

改成 var MongoStore = require(‘connect-mongo’)(express);

或者 安装MongoDB
1:修改package.json
"dependencies": { “express”: “3.1.0”, “ejs”: “*”, “connect-mongodb”: “>= 0.1.7”, “mongodb”:">=0.9.9" } 2 :改成 var MongoStore = require(‘connect-mongodb’);

希望能帮到你

楼上正解,我试过了可行

谢谢,可以了

…/settings 改成./settings var MongoStore = require(‘connect-mongodb’);

有个db.js 是放到根目录的model下么 这个model还得新建吧

你是怎么解决找不到…/settings的问题的?

我改成var MongoStore = require(‘connect-mongodb’)后,访问页面出现以下错误: 500 TypeError: Cannot call method ‘findOne’ of null

请问connect-mongo和connect-mongodb的区别是?

有答案了么? 我也遇到了,刷新首页就这样. 500 TypeError: Cannot call method ‘findOne’ of null at MongoStore.MONGOSTORE.get (/Users/zhangnaixiao/Cold/node/NodeGuide/Chapter05/MicroBlog/node_modules/connect-mongodb/lib/connect-mongodb.js:115:15)

现在用 var MongoStore = require(‘connect-mongo’)(express); 可以解决

同问。 试了重新install connect-mongodb(不知道connect-mongo和connect-mongodb的区别)还是不行,“…/settings”还是找不到,settings和app是放在同个目录下,应该不用加"…/"吧?还有settings不是modules里面的工具,可以用require吗?

试了重新install connect-mongodb(不知道connect-mongo和connect-mongodb的区别)还是不行,“…/settings”还是找不到,settings和app是放在同个目录下,应该不用加"…/"吧?还有settings不是modules里面的工具,可以用require吗?

express 4和3的区别 我在学习《Node.js实战》这边讲的是express 3.x 现在express4和3有些区别 有空看我https://github.com/strongloop/express/tree/master/examples这些例子或许就解决不少疑惑了

回到顶部