Đã giải quyết!
-
Đặt server.socketoptions.keepAlive thành 1 . Chỉ cần cập nhật đối tượng tùy chọn như sau:
options = { auto_reconnect: true, db: { w: 1 }, server: { socketOptions: { keepAlive: 1 } } };
-
Ping cơ sở dữ liệu đều đặn. Đây là đoạn mã thực hiện chính xác điều đó:
printEventCount = function() { db.collection("IOSEvents").count(function(err, numberOfEvents) { console.log(new Date() + ": error = " + err + ", number of events = " + numberOfEvents); ping(); }); }; ping = function() { if (config.pingPeriod === 0) return; setTimeout(printEventCount, config.pingPeriod); };