我很想将pyeve连接到MongoDB Atlas副本集(https://cloud.mongodb.com/)。我已成功连接来自同一主机的数据库管理工具,以确保部署正常。
一个特殊情况是,使用Atlas,所有用户都必须对auth
数据库进行身份验证,我无法将我的用户放入应用程序数据库,因此我需要在authSource
中设置MONGO_URI
。 / p>
现在,在为MONGO_URI
定义副本集的settings.py
时,就像这样:
MONGO_URI = mongodb://<USER>:<PASS>@my-shard-00-00-tlati.mongodb.net:27017,my-shard-00-01-tlati.mongodb.net:27017,my-shard-00-02-tlati.mongodb.net:27017/<MY_DB>?ssl=true&replicaSet=my-shard-0&authSource=admin
authSource=admin
参数似乎被忽略了(我已经检查过调试pymongo&#39;是否使用了身份验证来源None
)。
MONGO_AUTH_SOURCE
可用于设置授权数据库,但由于MONGO_URI
优先于其他配置变量使用{{1}},因此它没有任何效果,根据前夕的documentation
这是一个问题,还是我做错了?
答案 0 :(得分:0)
发现问题是我使用版本0.4.1用于flask-pymongo
。将其更新到版本0.5.1解决了问题。