如何关闭 mongodb python 连接?

Posted

技术标签:

【中文标题】如何关闭 mongodb python 连接?【英文标题】:How to close a mongodb python connection? 【发布时间】:2013-08-26 09:33:04 【问题描述】:

我正在编写一个将一些数据写入 mongodb 的 python 脚本。 完成后,我需要关闭连接并释放一些资源。

这是如何在 Python 中完成的?

【问题讨论】:

【参考方案1】:

在您的 MongoClient 实例上使用 close() 方法:

client = pymongo.MongoClient()

# some code here

client.close()

close()disconnect() 方法的别名:

断开连接将关闭连接中的所有底层套接字 水池。如果再次使用此实例,它将自动 重新打开。

【讨论】:

而且 disconnect 不再可从 pymongo 3.x 获得 @alecxe,有什么方法或形式知道connect daba基地是否关闭? 在 Jupyter Notebook 中,在 .close() 之后我仍然可以查询数据库。是自动重连吗? @NikhilVJ 在上面的answer,它说:Disconnecting will close all underlying sockets in the connection pool. If this instance is used again it will be automatically re-opened.【参考方案2】:

关闭 pymongo 连接的最安全方法是将其与 'with' 一起使用:

with pymongo.MongoClient(db_config['HOST']) as client:
    db = client[ db_config['NAME']]
    item = db["document"].find_one('id':1)
    print(item)

【讨论】:

以上是关于如何关闭 mongodb python 连接?的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB:异步函数未完成或如何正确关闭与 mongoose 的连接

MongoDB 是 Memcached 更好的替代品? [关闭]

MongoDB的配置启动关闭

mongoDB连接数据库

聊聊MongoDB中连接池索引事务

如何将gettext .mo文件转换为.po文件[关闭]