pymon go .errors.ServerSelectionTimeoutError: localhost: 27017: [Errno 111] Отказано в соединении django к герою - PullRequest
0 голосов
/ 29 марта 2020

Я использую django с атласом mongodb и пытаюсь развернуть используя heroku. Как-то я продолжаю сталкиваться с pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused этой ошибкой.

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'name',
        'HOST': 'mongodb+srv://user:pass@cluster0-xb9zh.mongodb.net/test?retryWrites=true&w=majority',
        'USER': 'user',
        'PASSWORD': 'pass',
        }
    }

Для django setting.py Я просто изменил его с sqlite на mongodb. Это прекрасно работает в моем местном. Есть одно изменение, которое я подозреваю: мне пришлось изменить файл mongo_client.py с localhost на строку подключения, чтобы мой mongodb подключился к атласу, а не к локальной базе данных. Не уверен, что это как-то связано с этим.

class MongoClient(common.BaseObject):
    """
    A client-side representation of a MongoDB cluster.

    Instances can represent either a standalone MongoDB server, a replica
    set, or a sharded cluster. Instances of this class are responsible for
    maintaining up-to-date state of the cluster, and possibly cache
    resources related to this, including background threads for monitoring,
    and connection pools.
    """
    HOST = "mongodb+srv://user:pass@cluster0-xb9zh.mongodb.net/test?retryWrites=true&w=majority"
    PORT = 27017
    # Define order to retrieve options from ClientOptions for __repr__.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

Не знаю, сильно ли это помогает, но вы также можете это

DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'CLIENT': {
            'host': 'mongodb+srv://<URL>',
            'username': 'something',
            'password': 'somepass',
            'authMechanism': 'SCRAM-SHA-1'
        }
    }
}

Это помогло мне, но для вас это может быть не так.

0 голосов
/ 30 марта 2020

Эта ошибка обычно возникает, когда вы не указали в списке IP-адрес вашего клиента. Подробности здесь:

https://docs.atlas.mongodb.com/security-whitelist/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...