2017-08-18 41 views
0
許多查詢

我在執行非常龐大的數字(千)異步查詢來蒙戈 我收到以下錯誤蒙戈超時而在的NodeJS

throw er; // Unhandled 'error' event 
    ^
MongoError: connection 4 to localhost:27017 timed out 

我也嘗試了不同的價值觀面臨的一個問題連接選項增加,他們在下降,但是仍然得到錯誤

在app.js的連接代碼部分

var MongoOptions = { 
    socketTimeoutMS: 0, 
    connectTimeoutMS: 0, 
    keepAlive: true, 
    reconnectTries: 30, 
    poolSize: 10 
}; 

mongoose.connect(Config.MONGO_DB_MOJ_CONNECTION, MongoOptions).then(function() { 
    console.log('connected to mongo'); 
}, function (err) { 
    //err handle 
}); 
+0

你的MongoDB顯然不能處理特定時間範圍內的所有查詢,所以查詢超時。開始查看複製和/或分片。 – robertklep

回答

0

嘗試

{ keepAlive: 0, connectTimeoutMS: 0} 
+0

加上,你必須記住,mongo在使用它們時在記錄上有鎖定系統,所以你的請求可以超時,所以你應該根據mongo-s工作流邏輯重構你的代碼來通過這個問題。 –