django中配置多个mongodb数据库
在Djnago中使用MongoDB数据库时,使用mongoengine模块。在settings中配置数据库连接如下:
from mongoengine import connect connect('dbname1', host='127.0.0.1', port=27017)
其中的dbname1为要连接的mongodb数据库名字,host为mongodb数据库ip,port为相应的端口。
上面为单个数据库的配置,如果要配置多个数据库,一要在settings中增加数据库连接;二要在models中定义的表中指明使用的数据库。
settings配置如下:
from mongoengine import connect connect('dbname1', host='127.0.0.1', port=27017, alias='default') connect('dbname2', host='127.0.0.1', port=27017, alias='db2')
其中增加了一个参数alias,用于给多个数据库取别名,以方便在models的表中指定要使用的数据库,其中必须有一个default。不指定表使用库时,默认使用default库。
settings设置好之后,models的表中配置如下:
from mongoengine import * class Test(Document): name = StringField() age = IntField() meta = {'db_alias': 'db2'}
设置表要使用的库,添加元素meta,指定db_alias(key)的value值就可以,其中的value值为settings配置的数据库别名。