javascript - mongoose在百度bae长连接中遇到的问题

查看:74
本文介绍了javascript - mongoose在百度bae长连接中遇到的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

百度bae mongodb不支持长连接,所要进行重连机制。我看网上别人用mongoose.createConnection(),可是我用createConnection()就会报错,根本连不了
但是mongoose.connect()是可以连接的,所以我就写了一个mongoose.connect()重连版本
`var db = mongoose.connection;
db.on('error',function(error){

mongoose.disconnect();

})
db.on('disconnected', function() {

mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});

});
mongoose.connect(config.mongo, {server:{auto_reconnect:true,poolSize:10}});`
里面的configh.mongo是连接数据库的url!
请问大家怎么解决这个问题呢

解决方案

1、问题:可是我用createConnection()就会报错,根本连不了。

var conn = mongoose.createConnection('your connection string'),
    MyModel = conn.model('ModelName', schema),
    m = new MyModel;
    m.save(); // works

使用createConnection的时候,不能用mongoose.model,请参考上面的栗子。

2、百度bae支持60分钟的连接,应该够用了吧。

引用的官网信息:公有MongoDB连接建立后如果连续空闲1小时无任何活动,将会被服务器端断开连接。如果在并发连接数已达到配额上限的情况下再发起建立新连接请求,服务器端将会在已有连接中查找是否有空闲30秒以上的,如果有则断开最近最不活跃(Least Recently Used)的一个连接并接受新连接请求;否则拒绝新连接请求。请您注意在应用代码中处理长时间空闲MongoDB连接将会被断开的问题。

供参考。

Love MongoDB! Have fun!


2017MongoDB中文社区北京用户组大会在即,2017年6月3日 13:00-18:00

赶紧报名参加吧!Click Me

这篇关于javascript - mongoose在百度bae长连接中遇到的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆