首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建用于多个模块的mongoengine连接包装器

创建用于多个模块的mongoengine连接包装器
EN

Stack Overflow用户
提问于 2019-01-15 18:42:50
回答 1查看 87关注 0票数 0

我正在创建一个包装器来解决我与mongoengine的所有连接,所以我创建了一个从文件读取mongoDB配置并连接到它的函数。

该函数如下所示:

代码语言:javascript
复制
def connect_mongo_odm(config_file_location, db_name):
    if db_name:
        base_path = ['databases', db_name]
        conf_specs = {
            'host': {
                'path': base_path + ['host']
            },
            'port': {
                'path': base_path + ['port']
        }
    }

    fileConfiguration = dao_utils.readConfiguration(config_file_location, conf_specs)

    auth = None
    host = fileConfiguration.get('host', None)

    host = "mongodb://" + host

    connect(alias=db_name,
            host=host,
            socketKeepAlive=True, socketTimeoutMS=30000)

我把它当做:

代码语言:javascript
复制
# import previous function
# This is another module in my application
connect_mongo_odm('/path/to/config/file', 'dbName')

但是当我尝试保存一个文档时,我得到了一个异常,告诉我没有定义默认连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-05 03:31:49

您需要在每个文档类中定义meta = {"db_alias": "your_connection_alias"}。如果你不设置它,它将使用“默认”别名。

请看这里的示例:https://stackoverflow.com/a/56434241/6203472

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54197258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档