Я использую 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__.