【问题标题】:When to disconnect from mongodb何时断开与 mongodb 的连接
【发布时间】:2012-08-16 22:37:57
【问题描述】:

我对数据库相当陌生,刚刚弄清楚如何在 Ubuntu 12.04 上的 python2.7 中使用 MongoDB。我正在编写的应用程序使用多个连接到数据库的 python 模块(导入到主模块中)。基本上,每个模块都是从打开一个到 DB 的连接开始的,这个连接随后用于各种操作。

但是,当程序退出时,主模块是唯一“知道”退出的模块,并关闭其与 MongoDB 的连接。其他模块不知道这一点,也没有机会关闭它们的连接。由于我对数据库的经验很少,我想知道在退出时保持连接打开是否有任何问题。

我应该:

  • 就这样?

  • 而是在每次操作之前打开连接并在每次操作之后关闭它?

  • 彻底改变我的应用程序结构?

  • 用不同的方式解决这个问题?

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    您可以在不同模块之间使用一个 pymongo 连接。您可以在单独的模块中打开它并根据需要将其导入其他模块。程序完成工作后,您可以关闭它。这将是最好的选择。

    关于其他问题:

    1. 您可以像这样离开(脚本执行完成后所有连接都将关闭),但不关闭某些内容是一种不好的形式。
    2. 您可以为每个操作打开/关闭连接(但建立连接是一项耗时的操作。
    3. 这就是我的建议(请参阅此答案的第一段)
    4. 我觉得这点可以和3合并。

    【讨论】:

    • 只是为了补充 Rostyslav Dzinko 的精彩答案,如果您还没有,我建议您阅读 pymongo 连接文档here
    猜你喜欢
    • 2013-01-18
    • 2020-11-30
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    相关资源
    最近更新 更多