mongoengine上的多个连接。。给我举几个例子~

2024-06-01 05:00:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用mongoengine和django。在

在我的projectweb应用程序中,我需要连接至少两个服务器:一个是用于会话的本地服务器,另一个连接到mongolab(mongodb托管服务公司)。在

所以。。我需要为会话连接本地主机。。当连接到另一个远程服务器时。在

如何在mongoengine上实现多个连接?在

请给我举几个例子。在


a Web application   --- connecting ---> localhost for session
                    --- connecting ---> mongolab for application database

Tags: django服务器web应用程序for远程applicationmongodb
2条回答

根据mongoengine documentation,要使用多个数据库,可以使用connect()并为连接提供一个别名名称。在后台,它使用register_connection()来存储数据,如果需要,您可以预先注册所有别名。在

connect(alias='user-db-alias', db='user-db')
connect(alias='book-db-alias', db='book-db')
connect(alias='users-books-db-alias', db='users-books-db')

class User(Document):
    name = StringField()

    meta = {'db_alias': 'user-db-alias'}

class Book(Document):
    name = StringField()

    meta = {'db_alias': 'book-db-alias'}

class AuthorBooks(Document):
    author = ReferenceField(User)
    book = ReferenceField(Book)

    meta = {'db_alias': 'users-books-db-alias'}

也可以使用switch_db()方法。在

函数disconnect()可用于断开特定连接。这可用于全局更改连接:

^{pr2}$

相关问题 更多 >