flask_mongoengine:如何更改/配置数据库?

时间:2019-12-09 18:53:20

标签: mongodb flask mongoengine mongodb-atlas flask-mongoengine

每当我提交前端表单以创建用户时,mongoengine始终将新创建的文档保存在“测试”数据库中,而不是我指定的'mydb-dev'中。我在app.py中关注the official documentation

from flask_mongoengine import MongoEngine
mongo = MongoEngine()
app = Flask(__name__)
app.register_blueprint(home_page)
app.register_blueprint(about_page)
app.register_blueprint(user_views)
app.secret_key = "secret key"
app.config['MONGODB_DB'] = 'mydb-dev'
app.config["MONGODB_HOST"] = "mongodb+srv://" + username + ":" + pwd + \
                          "@<cluster>-fphpr.gcp.mongodb.net/test?retryWrites=true&w=majority"

mongo.init_app(app)

尝试在URI中将“ test”替换为“ mydb-dev”,但无效。我在mongo_engine.py中初始化mongoengine时也会注册连接(此连接在app.py之前运行):

import mongoengine as me
def global_init():
    db_uri = "mongodb+srv://" + username + ":" + pwd + \
                          "@<cluster>-fphpr.gcp.mongodb.net/test?retryWrites=true&w=majority"
    me.connect(alias=alias_core, name='mydb-dev', host=db_uri)

我不知道为什么mongoengine不使用我指定的数据库。我目前全都没主意...不胜感激。

更新:已解决

我的错误是我建立了两个不同的连接,而mongo_setup.py中的一个导致了问题。我摆脱了该设置,并在app.config['MONGODB_ALIAS'] = 'core'中添加了app.py,现在我的文档被保存到正确的数据库中。

0 个答案:

没有答案
相关问题