身份验证数据库设置无法使用 mongoDB URI 配置

Authentication DB setting not working using mongoDB URI configuration

我正在尝试将 pyeve 与 MongoDB Atlas 副本集 (https://cloud.mongodb.com/) 连接起来。我已成功连接来自同一主机的数据库管理工具,以确保部署工作正常。

一个特殊性是使用Atlas,所有用户都必须对auth数据库进行身份验证,我不能将我的用户放在应用程序数据库中,所以我需要在MONGO_URI中设置authSource .

现在,在为副本集定义 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的auth,使用的认证源是None)。

MONGO_AUTH_SOURCE 可用于设置授权数据库,但它没有任何效果,因为根据 eve 的 documentationMONGO_URI 优先于其他配置变量使用。 =23=]

这是个问题还是我做错了?

发现问题是我为 flask-pymongo 使用了 0.4.1 版。将它更新到版本 0.5.1 解决了这个问题。