使用MongoEngine动态连接到MongoDB数据库



我尝试使用具有动态连接的mongoengine连接mongodb数据库。我从URL请求获取数据库名称。问题是仅连接的第一个URL数据库。

这是mycode

run.py

from application import app
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8089)

utaes.py

from flask import request
from application import app
from mongoengine import connect
class DBConnection():
    def __init__(self):
        database = request.url.split("/")[2].split(".")[0]
        print(database)
        connect(database,alias='default')
@app.route('/',methods=['GET'])
def index():
    try:
        DBConnection();
        return redirect(url_for('dashboard'))
    except Exception as e:
        raise e

在上面的代码中,当我点击URL myDomain.maindomain.com 它将连接 myDomain 并点击URL yourdomain.mainain.mainnomain.com 它将与 YourDomain

连接

问题是它仅与一个数据库连接。例如,第一次我点击 myDomain.maindomain.com 然后,数据库每次都与 myDomain 连接,即使我点击了 yourdomain.mainain.maindomain.com 是它的Show myDomain 数据库记录。

我认为您不需要使用不同的数据库。只需在您拥有的每个用例中使用不同的集合,然后将应用程序用烧瓶蒙哥纳包装。

ps。更好地了解变量范围在烧瓶中的工作方式。

最新更新