我的计算机上曾经有一个 mongodb 服务器,一切都运行良好。当我尝试将服务器部署到 MongoDB atlas 时,它崩溃了。
from flask import Flask
from flask_pymongo import PyMongo
app = Flask(__name__)
app.config["MONGO_URI"] = "..."
app.config["SECRET_KEY"] = "..."
mongo = PyMongo(app)
# Rest of the code
问题是 mongo.db 是 None ,当我尝试执行 mongo.db.users 时,我收到一个错误,指出 NoneType 没有 users 属性,但考虑到它过去曾经工作过,我相信 MongoDB atlas 没有与 Flask-Pymongo 正确连接,并且脚本是正确的。我设置了 Mongo 集群,创建了用户和密码,并将我的 IP 添加到网络访问(我什至尝试添加 0.0.0.0/0,它允许每个人访问)。我很困惑。有人可以帮助我吗?
我解决了这个问题,但是使用了不同的模块。我只是使用常规的 PyMongo 模块而不是扩展的 Flask-Pymongo。代码中唯一的区别是,您定义的 mongo uri 不是
app.config["MONGO_URI"]=...
,而是这样:client = MongoClient(...)
。这可能是因为模块损坏或其他原因,但如果您怀疑我首先做错了什么,请告诉我。