Я не уверен, как подключиться к базе данных mongodb, которая использует базу данных аутентификации с mongoengine.
В командной строке мне нужно сделать mongo hostname:27017/myApp -u "test" -p "test" --authenticationDatabase admin, но я не вижу, где бы я передал это в качестве аргумента mongoengine, поэтому я использую базу данных администратора для аутентификации, но подключаюсь к базе данных myApp для своих моделей?
Я считаю, что это объясняется в руководстве PyMongo:
https://api.mongodb.com/python/current/examples/authentication.html
>>> from pymongo import MongoClient
>>> client = MongoClient('example.com')
>>> db = client.the_database
>>> db.authenticate('user', 'password', source='source_database')
и я нашел запрос на вытягивание, который добавил это в mongoengine:
https://github.com/MongoEngine/mongoengine/pull/590/files
Похоже, вы просто добавляете authentication_source в качестве аргумента к connect, как connect(authentication_source='admin'). Было бы неплохо, если бы это было лучше задокументировано.
http://docs.mongoengine.org/apireference.html?highlight=authentication_source