从django连接到多个mongodb实例 [英] Connecting to multiple mongodb instances from django
本文介绍了从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.
推荐答案
演示使用 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屋!
查看全文