繁体   English   中英

如何在flask中使用多个Mongodb

[英]How to use multiple Mongodb in flask

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

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

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

如果可能,示例代码。

谢谢

我也遇到了同样的问题,终于弄明白了。

而不是使用

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
#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')

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

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

对我有用:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM