同样的mongo_uri在pymongo中可以正常使用,但在flask_pymongo就会提示认证失败,具体代码如下:
1 mongo = PyMongo(app, uri='mongodb://127.0.0.1:27017/mongo_test')
1 Traceback (most recent call last):
2 ┆
3 pymongo.errors.OperationFailure: Authentication failed.
在此我找到的解决办法是附加 '?authSource=admin' 到 'MONGO_URI' 变量的末尾将根据管理数据库而不是您要连接的数据库验证您的凭据。
例:
1 app.config["MONGO_URI"] = "mongodb://username:password@host:port/db_name?authSource=admin"