使用express框架时,用MongoDB存放session时,出现错误,解决方法

使用express框架时,用MongoDB存放session时,出现错误如下:



D:\WorkSpace\nodejs\user\node_modules\connect-mongo\lib\connect-mongo.js:153
          throw new Error('Error connecting to database');
                ^
Error: Error connecting to database
    at D:\WorkSpace\nodejs\user\node_modules\connect-mongo\lib\connect-mongo.js:153:17
    at D:\WorkSpace\nodejs\user\node_modules\connect-mongo\node_modules\mongodb\lib\mongodb\db.js:229:16
    at null.<anonymous> (D:\WorkSpace\nodejs\user\node_modules\connect-mongo\node_modules\mongodb\lib\mongodb\connection\server.js:578:7)
    at EventEmitter.emit (events.js:106:17)
    at null.<anonymous> (D:\WorkSpace\nodejs\user\node_modules\connect-mongo\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:139:15)
    at EventEmitter.emit (events.js:98:17)
    at Socket.<anonymous> (D:\WorkSpace\nodejs\user\node_modules\connect-mongo\node_modules\mongodb\lib\mongodb\connection\connection.js:475:10)
    at Socket.EventEmitter.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:415:13)

解决方法如下:

(数据库不带用户和密码的方法)

将  store: new MongoStore({db:settings.db})

替换成     store: new MongoStore({host:settings.host, port:settings.port, db:settings.db)})

在开始加上  format = require('util').format

app.use(express.session({
    secret: settings.cookieSecret,
    key: settings.db,
    cookie: {maxAge: 1000 * 60 * 30},//30 minute
    store: new MongoStore({host:settings.host, port:settings.port, db:settings.db)})
    /*store: new MongoStore({db:settings.db})*/
}));


(数据库带用户和密码的方法)

将  store: new MongoStore({db:settings.db})

替换成     store: new MongoStore({url:format("mongodb://%s:%s@%s:%s/%s",settings.uid, settings.pwd, settings.host, settings.port, settings.db)})

在开始加上  format = require('util').format

app.use(express.session({
    secret: settings.cookieSecret,
    key: settings.db,
    cookie: {maxAge: 1000 * 60 * 30},//30 minute
    store: new MongoStore({url:format("mongodb://%s:%s@%s:%s/%s",settings.uid, settings.pwd, settings.host, settings.port, settings.db)})
    /*store: new MongoStore({db:settings.db})*/
}));


黑龙江融博创世科技有限公司

http://www.rbcs.com.cn

防伪 防串货 专家

爱手游网站 http://www.iwsjyx.com,手机游戏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值