events.js:141
throw er; // Unhandled 'error' event
MongoError: connection 0 to localhost:27017 timed out
at Function.MongoError.create (/home/ubuntu/scripts/node_modules/mongodb-core/lib/error.js:29:11)
at Socket.<anonymous> (/home/ubuntu/scripts/node_modules/mongodb-core/lib/connection/connection.js:184:20)
at Socket.g (events.js:260:16)
at emitNone (events.js:67:13)
at Socket.emit (events.js:166:7)
at Socket._onTimeout (net.js:318:8)
at _runOnTimeout (timers.js:524:11)
at _makeTimerTimeout (timers.js:515:3)
at Timer.unrefTimeout (timers.js:584:5)
Il n’ya pas d’erreur lors de la connexion, mais lorsqu’il essaie de sauvegarder certains modèles/collections, il est exécuté pendant un moment puis renvoie cette erreur . BTW Un autre processus de noeud est également connecté au même serveur mongodb. Toute aide est grandement appréciée.
const mongoose = require('mongoose');
const option = {
socketTimeoutMS: 30000,
keepAlive: true,
reconnectTries: 30000
};
const mongoURI = process.env.MONGODB_URI;
mongoose.connect(mongoURI, option).then(function(){
//connected successfully
}, function(err) {
//err handle
});
Votre requête prend beaucoup de temps. Et mongo lui-même a un délai d'attente défini par défaut. Donc, le délai est dépassé si la requête prend plus de temps que le délai imparti.
vous devez utiliser cette configuration sur votre connexion: keepAlive: 300000, connectTimeoutMS: 30000
Si vous êtes sûr d'avoir exporté le port -p 27017:2017
et que cela ne fonctionne toujours pas.
Vérifiez votre VPN s'il ne bloque pas le partage de réseau local.