【问题标题】:How to use multiple Mongodb in flask如何在烧瓶中使用多个MongoDB
【发布时间】:2018-06-09 20:15:23
【问题描述】:

我有两个 mysql 数据库,一个是 localhost,另一个现在在服务器中,我将使用烧瓶在 python 中为该应用程序创建简单的应用程序,我想连接两个 mysql 数据库(本地和服务器)。

请任何人建议如何将多个数据库连接到烧瓶中。

app = Flask(__name__)
client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.sampleDB1

尽可能提供示例代码。

谢谢

【问题讨论】:

  • 最好创建一个配置文件并指定您的 Mongodb 连接属性,然后使用这些配置之一运行您的应用程序。

标签: python mongodb flask mongodb-query flask-sqlalchemy


【解决方案1】:

我遇到了同样的问题,终于解决了。

而不是使用

client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.sampleDB1

删除所有内容并尝试以下操作:

mongo1 = PyMongo(app, uri = 'mongodb://localhost:27017/Database1')
mongo2 = PyMongo(app, uri = 'mongodb://localhost:27017/Database2')

然后,当你想调用一个特定的数据库时,你可以使用:

@app.route('/routenamedb1', methods=['GET'])
def get_data_from_Database1():

Database1 = mongo1.db.CollectionName ##Notice I use mongo1,
#If I wanted to access database2 I would use mongo2

#Walk through the Database for DC to
for s in Database1.find():
#Modifying code
return data

【讨论】:

    【解决方案2】:
    #This technique can be used to connect to multiple databases or database servers:
    app = Flask(__name__)
    
    # connect to MongoDB with the defaults
    mongo1 = PyMongo(app)
    
    # connect to another MongoDB database on the same host
    app.config['MONGO2_DBNAME'] = 'dbname_two'
    mongo2 = PyMongo(app, config_prefix='MONGO2')
    
    # connect to another MongoDB server altogether
    app.config['MONGO3_HOST'] = 'another.host.example.com'
    app.config['MONGO3_PORT'] = 27017
    app.config['MONGO3_DBNAME'] = 'dbname_three'
    mongo3 = PyMongo(app, config_prefix='MONGO3')
    

    【讨论】:

      【解决方案3】:

      创建model.py并在其中分离2个数据库的实例,然后在app.py中:

      app = Flask(__name__)
      app.config['MODEL'] = model.my1st_database()
      app.config['MODEL2'] = model.my2nd_database()
      

      为我工作:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        • 2020-09-28
        • 1970-01-01
        • 2013-11-24
        • 1970-01-01
        • 2013-07-27
        相关资源
        最近更新 更多