Как автоматически переподключить монго на сервере node.js?

Допустим, у меня есть сервер node.js, подключающийся к mongoDB. Затем mongoDB умирает или отключается. Конечно, сервер node.js потеряет соединение. Даже если я перезапущу mongoDB, сервер node.js не будет автоматически подключаться к новому mongodb, даже если он работает на том же компьютере с тем же портом. Мне нужно либо перезапустить сервер Node.js, либо каким-то образом написать свою собственную процедуру для его повторного подключения.

Есть ли какой-либо модуль узла для обработки повторного подключения? и менее агрессивным способом. (т.е. не будет запрашивать подключение каждую секунду).


person murvinlai    schedule 26.09.2011    source источник


Ответы (1)


Ответ на этот вопрос будет зависеть от версии вашего драйвера и конкретного кода.

Самые последние версии драйверов должны поддерживать пул соединений. Обычно это означает, что вы можете получить исключение при попытке первого подключения, но вы сможете повторно подключиться.

Ваша реализация также важна. Есть несколько способов сделать это. Некоторые люди открывают соединение вне запуска веб-сервера, другие делают это в ответ на запросы.

Если у вас есть пул соединений, вы должны иметь возможность «открывать соединение» при каждом запросе. Вам нужно будет правильно обрабатывать ошибки после перезагрузки, но вам не нужно перезапускать среду Node.

person Gates VP    schedule 26.09.2011
comment
Я знаю, что эта тема действительно старая, но у меня тот же вопрос. Я использую Mongoose версии 4 для подключения к Mongodb и не могу заставить приложение node повторно подключиться к серверу mongodb после его резервного копирования. Не могли бы вы предоставить пример кода о возможных способах реализации переподключения без необходимости каждый раз перезапускать узел? (я новичок в этом). Спасибо. - person coder101; 31.05.2019