1

我正在尝试使用 flask 和 flask_pymongo 连接到我的 AWS DocumentDB。我的 AWS 集群启用了 TLS。我可以使用 python shell 和 pymongo 连接到数据库,但是当我在烧瓶中执行以下操作时,我无法连接它。下面的 URI 在我的应用程序中针对我的用户名、密码和集群进行了自定义。并且 pem 文件与 app.py 位于同一目录中。有什么建议吗?

from flask import Flask, jsonify
from flask_restful import Resource, Api
from flask_pymongo import PyMongo

app = Flask(__name__)

app.config['MONGO_DBNAME'] = 'mydb'
app.config['MONGO_URI'] = 'mongodb://<dbusername>:<dbpassword>@mycluster.node.us-east-1.docdb.amazonaws.com:27017/?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred'

mongo = PyMongo(app)
api = Api(app)
4

1 回答 1

2

如果您使用的是最新版本的 Flask-PyMongo(2.0 或更高版本),则将MONGO_DBNAME无效。对于 2.0,您必须将 db 名称放在 URI 中('mongodb://<dbusername>:<dbpassword>@mycluster.node.us-east-1.docdb.amazonaws.com:27017/mydb?ssl=true&ssl_ca_certs=rds-combined-ca-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred'在这种情况下就是这样。

于 2019-07-05T16:57:03.723 回答