Я очень озадачен тем, как MongoClient.connect
предполагается использовать.У меня есть экспресс-приложение, которое использует MongoDB, и я работаю над его развертыванием с помощью Docker.При использовании docker-compose up
приложение может попытаться подключиться к mongo до того, как mongo будет готово принимать подключения.Когда это происходит, я получаю следующую ошибку:
MongoNetworkError: failed to connect to server [mongo:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 172.18.0.2:27017]
Это нормально, но фактически подключается, как только база данных становится доступной.Это также было бы хорошо, но обещание уже отклонено, и у меня нет возможности использовать это соединение.Я также попытался переключиться на использование обратных вызовов, но после сбоя обратный вызов больше не вызывается.
Я всегда могу повторить попытку, пока не получу рабочее соединение без ошибки, но каждый раз, когда я повторяюсь, я получаю другое соединениев базу данных, которая не закрыта до перезапуска приложения, что обычно происходит при развертывании новой версии.
Мне либо нужен способ использовать соединение, которое изначально не удалось, либо остановить повторные попытки неудачных соединений.Кто-нибудь знает, как это сделать?