3

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

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

我是不是该:

  • 就这样放着?

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

  • 完全改变我的应用程序结构?

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

4

1 回答 1

3

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

关于其他问题:

  1. 您可以像这样离开(脚本完成执行后所有连接都将关闭),但不关闭某些东西是一种不好的形式。
  2. 您可以为每个操作打开/关闭连接(但建立连接是一项耗时的操作。
  3. 这就是我的建议(见这个答案的第一段)
  4. 我认为这一点可以与3合并。
于 2012-08-16T14:32:08.297 回答