Django не удается подключиться к удаленному серверу MongoDB с помощью djongo - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь подключиться, чтобы использовать базу данных MongoDB для проекта Django.

Поэтому я следую руководству по изменению базы данных из settings.py

# Original
DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': 'testDB',
}

Изменено на

# From tutorials
 DATABASES = {
     'default': {
         'ENGINE': 'djongo',
         'NAME': 'testDB',
         'USERNAME': 'username',
         'PASSWORD': 'password',
         'HOST': 'myhostname.example',
         'PORT': '27017',
     }
 }

Попытка запустить

python manage.py makemigrations
python manage.py migrate

Все работает, но в моей базе данных нет данных

Видимо django пошел на хост localhost: 27017 и создал базу данных там.

Удаление MongoDB, просто вызвало сбой make-миграций

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

Я нашел решение. { ссылка }

Чтобы ответить на этот вопрос, вы должны настроить его сейчас.

DATABASES = {
  'default': {  
    'ENGINE':   'djongo',
    'NAME':     'yourmongodb',
    'CLIENT': {
      'host': 'some-host.or.ip',
      'port': 27017,
      'username': 'youruser',
      'password': 'yourdbpass',
      'authSource': 'yourcollection', # usually admin
    } 
  },
}
...