Как настроить параметры обслуживания Python EVE REST API для базы данных в MongoDB Atlas - PullRequest
1 голос
/ 24 июня 2019

Сводка проблемы

Я пытаюсь настроить сервер REST API REST python с mongodb на localhost 5000 (http://127.0.0.1:5000/).) Вначале мой mongodb размещался на localhost 27017, и APIсоединение работало отлично. Но я хочу изменить базу данных на облачный сервер, поэтому я сбросил свою базу данных в MongoDB Atlas и попытался пересмотреть MONGO_HOST и добавить учетные данные пользователя в файл settings.py . Но этоне работает. Вот код, который я пытался пересмотреть.

До изменения

settings.py

MONGO_HOST = 'localhost'
MONGO_PORT = 27017
MONGO_DBNAME = 'mydb'
...
SERVER_NAME = '127.0.0.1:5000'
URL_PREFIX = 'api'

После изменения

settings.py

MONGO_HOST = '<clustername>-mz123.gcp.mongodb.net'
MONGO_USERNAME = 'user'
MONGO_PASSWORD = 'user'
MONGO_DBNAME = 'mydb'
...
SERVER_NAME = '127.0.0.1:5000'
URL_PREFIX = 'api'

Я также пытался следовать инструкции official , чтобы получить доступ к Atlas mongoDB с помощью pymongo, и это сработалоуспешно, как показано ниже. Поэтому я думаю, что проблема, возможно, заключается в том, как правильно установить файл eve settings.py для подключения к MongoDB Atlas.

from pymongo import MongoClient
client = MongoClient("mongodb+srv://user:password@<clustername>-mz123.gcp.mongodb.net/test?retryWrites=true&w=majority")
db = client['db']
col = db['collection']

Мои вопросы и мысли

  1. Есть ли настройка?г параметр я просто пропустил?Я не уверен, что имя MONGO_HOST неверно, но я только что получил его из инструкции на сайте Atlas.Или мне нужно изменить настройку на форму, например, MONGO_URI?Но я тоже пытался и потерпел неудачу.LOL

  2. Служит ли Eve REST API только для локального хоста (27017) при обслуживании на локальном хосте 5000?

  3. Есть предложения?Спасибо!

1 Ответ

1 голос
/ 24 июня 2019

В вашем settings.py определите MONGO_URI с параметром, который вы использовали в своем примере MongoClient. См. MONGO_URI здесь в документации (https://docs.python -eve.org / ru / stable / config.html # global-configuration )

...