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: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
相關文章:
1. 如何解決docker宿主機無法訪問容器中的服務?2. 前端 - CSS3 box-shadow如何設置,或者用什么方法可以產生圖中這樣陰影的效果。3. html - css 如何讓文字標題顯示在邊框上?4. node.js - vue-cll+sass 樣式不出來 已經npm install sass、 sass-loader了5. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????6. 在應用配置文件 app.php 中找不到’route_check_cache’配置項7. html按鍵開關如何提交我想需要的值到數據庫8. html5 - 微信開發的時候老是報這樣的錯誤errmsg config invalid signature9. vim中編輯HTML文件時換行不能縮進10. HTML5中怎么判斷用戶是否正在瀏覽頁面?
