何时断开与 mongodb 的连接



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

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

我应该:

  • 就这样离开了?

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

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

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

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

关于其他问题:

  1. 您可以像这样离开(脚本完成执行时,所有连接都将关闭),但保留未关闭的内容是一种不好的形式。
  2. 您可以为每个操作打开/关闭连接(但建立连接是一项耗时昂贵的操作。
  3. 那我会给你什么建议(见这个答案的第一段)
  4. 我认为这一点可以与3合并。

最新更新