From 048a0459662c8b40eb01a32c1b93e116aaaf489b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bastien=20G=C3=A9rard?= Date: Tue, 4 Jun 2019 21:47:28 +0200 Subject: [PATCH] Update connection/multiple databases docs I observed that many people were confused by this so I thought I'd make the multiple databases example more explicit --- docs/guide/connecting.rst | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/guide/connecting.rst b/docs/guide/connecting.rst index 1107ee3a..aac13902 100644 --- a/docs/guide/connecting.rst +++ b/docs/guide/connecting.rst @@ -78,26 +78,30 @@ store the data and you can register all aliases up front if required. Documents defined in different database --------------------------------------- -Individual documents can also support multiple databases by providing a +Individual documents can be attached to different databases by providing a `db_alias` in their meta data. This allows :class:`~pymongo.dbref.DBRef` objects to point across databases and collections. Below is an example schema, using 3 different databases to store data:: + 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'} + meta = {'db_alias': 'user-db-alias'} class Book(Document): name = StringField() - meta = {'db_alias': 'book-db'} + meta = {'db_alias': 'book-db-alias'} class AuthorBooks(Document): author = ReferenceField(User) book = ReferenceField(Book) - meta = {'db_alias': 'users-books-db'} + meta = {'db_alias': 'users-books-db-alias'} Disconnecting an existing connection