Connecting to multiple mongodb instances from django

前端 未结 3 1626
慢半拍i
慢半拍i 2021-01-20 23:23

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:

c         


        
3条回答
  •  耶瑟儿~
    2021-01-21 00:11

    Multiple database support was added in MongoEngine 0.6

    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"}
    

提交回复
热议问题