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)
Nun, es ist kein Fehler während der Verbindung, aber wenn Sie versuchen, einige Modelle/Sammlungen zu speichern, wird sie eine Weile ausgeführt, und dann wird dieser Fehler ausgegeben. Jede Hilfe wird sehr geschätzt.
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
});
Ihre Anfrage dauert sehr lange. Und für den Mongo selbst ist ein Timeout festgelegt. Es kommt also zu einer Zeitüberschreitung, wenn die Abfrage länger dauert als die Zeitüberschreitung.
sie müssen diese Konfiguration für Ihre Verbindung verwenden: keepAlive: 300000, connectTimeoutMS: 30000
Wenn Sie sicher sind, dass Sie den Port -p 27017:2017
exportiert haben, funktioniert er immer noch nicht.
Überprüfen Sie Ihr VPN, wenn die Freigabe des lokalen Netzwerks nicht blockiert wird.