javascript - mongoose在百度bae長(zhǎng)連接中遇到的問(wèn)題
問(wèn)題描述
百度bae mongodb不支持長(zhǎng)連接,所要進(jìn)行重連機(jī)制。我看網(wǎng)上別人用mongoose.createConnection(),可是我用createConnection()就會(huì)報(bào)錯(cuò),根本連不了但是mongoose.connect()是可以連接的,所以我就寫了一個(gè)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是連接數(shù)據(jù)庫(kù)的url!請(qǐng)問(wèn)大家怎么解決這個(gè)問(wèn)題呢
問(wèn)題解答
回答1:1、問(wèn)題:可是我用createConnection()就會(huì)報(bào)錯(cuò),根本連不了。
var conn = mongoose.createConnection(’your connection string’), MyModel = conn.model(’ModelName’, schema), m = new MyModel; m.save(); // works
使用createConnection的時(shí)候,不能用mongoose.model,請(qǐng)參考上面的栗子。
2、百度bae支持60分鐘的連接,應(yīng)該夠用了吧。
引用的官網(wǎng)信息:公有MongoDB連接建立后如果連續(xù)空閑1小時(shí)無(wú)任何活動(dòng),將會(huì)被服務(wù)器端斷開(kāi)連接。如果在并發(fā)連接數(shù)已達(dá)到配額上限的情況下再發(fā)起建立新連接請(qǐng)求,服務(wù)器端將會(huì)在已有連接中查找是否有空閑30秒以上的,如果有則斷開(kāi)最近最不活躍(Least Recently Used)的一個(gè)連接并接受新連接請(qǐng)求;否則拒絕新連接請(qǐng)求。請(qǐng)您注意在應(yīng)用代碼中處理長(zhǎng)時(shí)間空閑MongoDB連接將會(huì)被斷開(kāi)的問(wèn)題。
供參考。
Love MongoDB! Have fun!
2017MongoDB中文社區(qū)北京用戶組大會(huì)在即,2017年6月3日 13:00-18:00
趕緊報(bào)名參加吧!Click Me
相關(guān)文章:
1. mysql - AttributeError: ’module’ object has no attribute ’MatchType’2. github - 利用Python 自動(dòng)化部署問(wèn)題3. 求大神幫我看看是哪里寫錯(cuò)了 感謝細(xì)心解答4. npm鏡像站全新上線5. javascript - 圖片能在網(wǎng)站顯示,但控制臺(tái)仍舊報(bào)錯(cuò)403 (Forbidden)6. python - from ..xxxx import xxxx到底是什么意思呢?7. php自學(xué)從哪里開(kāi)始?8. MySQL客戶端吃掉了SQL注解?9. phpstady在win10上運(yùn)行10. 數(shù)據(jù)庫(kù) - MySQL 單表500W+數(shù)據(jù),查詢超時(shí),如何優(yōu)化呢?
