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配置的数据库别名。

posted @ 2018-04-07 10:38  tianrs  阅读(2281)  评论(0编辑  收藏  举报