从django连接到多个mongodb实例 [英] Connecting to multiple mongodb instances from django

查看:681
本文介绍了从django连接到多个mongodb实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用带有Django的mongoengine,在我的项目中,需要连接两个MongoDB实例,同时提供单个请求。如果我使用,它的工作正常:

I am using mongoengine with Django and within my project need to connect to two instances of MongoDB while serving single request. It works just fine if I use:

connect("mdb1")
#do stuff with mdb1
...
connect("mdb2")
#do stuff with mdb2

但我想知道这是否是一个正确的方法。

but I am wondering if that's a proper way of doing it.

推荐答案

Mongo ngine 0.6中添加了多个数据库支持

演示使用 register_connection

Demo using register_connection.

alias_lists = ['users-books-db', 'user-db', 'book-db'] # list of aliases
dbs = ['author-book-pairs', 'users', 'books'] # list of databases
for alias, db in zip(alias_lists, dbs):
    register_connection(alias, db)

class User(Document):
    name = StringField()
    meta = {"db_alias": "user-db"}

class Book(Document):
    name = StringField()
    meta = {"db_alias": "book-db"}

class AuthorBooks(Document):
    author = ReferenceField(User)
    book = ReferenceField(Book)
    meta = {"db_alias": "users-books-db"}

这篇关于从django连接到多个mongodb实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆