何时与mongodb断开连接

时间:2012-08-16 14:29:30

标签: python mongodb pymongo

我对数据库相当新,并且刚刚想出如何在Ubuntu 12.04上使用python2.7中的MongoDB。我正在编写的应用程序使用连接到数据库的多个python模块(导入到主模块中)。基本上,每个模块都首先打开与DB的连接,这个连接随后用于各种操作。

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

我应该:

  • 保持这样吗?

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

  • 完全改变我的申请结构?

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

1 个答案:

答案 0 :(得分:3)

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

关于其他问题:

  1. 你可以这样离开(当脚本完成执行时,所有连接都将被关闭),但是留下未封闭的东西是一种不好的形式。
  2. 您可以为每个操作打开/关闭连接(但建立连接是一项耗时的操作。
  3. 我建议你(见这个答案的第一段)
  4. 我认为这一点可以与3合并。