Jest to powszechny problem, gdy połączenia w puli w dłużej działających aplikacjach zwracają connection closed
.
Mangusta dokumentacja
zaleca dodanie keepAlive
do obiektu opcji, który przekazujesz do connect
funkcja.
Oto przykład (możesz usunąć replset
jeśli tego nie używasz),
// include keep alive for closing connections,
// http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html
var mongoOptions =
{
db: {safe: true},
server: {
socketOptions: {
keepAlive: 1
}
},
replset: {
rs_name: 'myReplSet',
socketOptions: {
keepAlive: 1
}
}
};
mongoose.connect( YOUR_URI, mongoOptions );
mongoose.connection.on('error', function(err) {
console.log('Mongo Error:\n');
console.log(err);
}).on('open', function() {
console.log('Connection opened');
});