Соединение TImeout для mongodb с использованием мангуста

У меня есть веб-приложение, работающее на Node, express и MongoDB. Я использую мангуст как ODM. Когда я тестировал свое приложение с версией mongodb v3.0.1, он отлично работает и не вызывает ошибок. Но когда я запускаю тот же код v3.2.10, я получаю таймаут соединения через некоторое время.

Я получаю следующую ошибку:

Error: connection timeout at null.<anonymous> (/webapp/node_module/mongoose/lib/drivers/node-mongodb-native/connection.js:186:17)

Я использую mongoose.connect для подключения db к локальному экземпляру mongodb. Что-то изменилось в способе соединения?

Ответ 1

У меня была эта проблема некоторое время назад. Все зависит от того, какую версию mongoose и mongodb-core вы используете. Прямо сейчас вы должны указать следующие параметры:

mongoose.connect("mongodb://user:[email protected]/db", {
  server: {
    socketOptions: {
      socketTimeoutMS: 0,
      connectionTimeout: 0
    }
  }
});

Однако, вчера, правильные параметры, где

mongoose.connect("mongodb://user:[email protected]/db", {
  server: {
    socketOptions: {
      socketTimeoutMS: 0,
      connectTimeoutMS: 0
    }
  }
});

Я не знаю, во что верить больше.