Ошибка pymongo.errors.ServerSelectionTimeoutError в Python

Когда вы попытаетесь выполнить операцию с MongoDB, но сервер недоступен, может возникнуть следующая ошибка.

pymongo.errors.ServerSelectionTimeoutError: localhost:27018: [WinError 10061] No connection could be made because the target machine actively refused it

Если для операции нет подходящего сервера, PyMongo ждет определенное время с константой serverSelectionTimeoutMS. По умолчанию период ожидания составляет 30 секунд. В течение этого периода ожидания он повторно проверяет, будет ли сервер подключен к сети. Если наш код python не находит сервер MongoDB, генерируется pymongo.errors.ServerSelectionTimeoutError.

Пример

Ниже приведены некоторые сценарии, в которых может возникнуть эта ошибка:

  • PyMongo не может подключиться ни к одному серверу.
  • Если вы попытаетесь вставить в набор реплик, у которого нет основного узла и кластер mongo не выбрал первичный объект в пределах окна тайм-аута.
  • Если вы попытаетесь выполнить запрос с предпочтением чтения, которое не может удовлетворить набор реплик.

Как устранить ошибку?

Мы видели, что могло вызвать эту ошибку. Перекрестно проверьте следующие вещи, чтобы установить соединение с экземпляром MongoDB.

Убедитесь, что ваш экземпляр MongoDB запущен. Зайдите в процессы и проверьте, запущен ли mongod.exe.

  • Windows: проверьте в диспетчере задач.
  • Ubuntu: запустите команду «ps -aef» и найдите процесс mongod.

Убедитесь, что URL-адрес, который вы указали, правильный.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *