Python 如何在烧瓶中使用多个Mongodb
我有两个mysql数据库,一个是localhost,另一个在服务器上,我将使用flask在python中创建一个简单的应用程序,我想连接mysql数据库(本地和服务器) 任何人请建议如何将多个DB连接到烧瓶中Python 如何在烧瓶中使用多个Mongodb,python,mongodb,flask,mongodb-query,flask-sqlalchemy,Python,Mongodb,Flask,Mongodb Query,Flask Sqlalchemy,我有两个mysql数据库,一个是localhost,另一个在服务器上,我将使用flask在python中创建一个简单的应用程序,我想连接mysql数据库(本地和服务器) 任何人请建议如何将多个DB连接到烧瓶中 app = Flask(__name__) client = MongoClient() client = MongoClient('localhost', 27017) db = client.sampleDB1 示例代码(如果可能) 谢谢创建model.py和其中两个数据库的单独实例
app = Flask(__name__)
client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.sampleDB1
示例代码(如果可能)
谢谢创建model.py和其中两个数据库的单独实例,然后在app.py中:
app = Flask(__name__)
app.config['MODEL'] = model.my1st_database()
app.config['MODEL2'] = model.my2nd_database()
对我有效:)我也遇到了同样的问题,最终解决了 而不是使用
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
最好创建一个配置文件并指定Mongodb连接属性,然后使用其中一个配置运行应用程序。
#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')