Python 我需要关闭pymongo会话吗?
上面允许我使用Python 我需要关闭pymongo会话吗?,python,mongodb,pymongo,Python,Mongodb,Pymongo,上面允许我使用conn\u pf.close()关闭会话 但是: 不允许我使用conn\u pfname.close关闭。它说集合类型没有close方法。在第二个案例中,我真的打开了会话吗?不,您不需要关闭PyMongo连接。让它们保持打开状态,以便PyMongo的连接池为您提供最高效的性能: 此外,PyMongo多年前删除了“Connection”和“slave_ok”等旧API,请升级到最新版本,以获得最正确、最高效的驱动程序。使用MongoClient: 我担心的是,如果我打开了多个连接
conn\u pf.close()
关闭会话
但是:
不允许我使用
conn\u pfname.close关闭。它说集合类型没有close方法。在第二个案例中,我真的打开了会话吗?不,您不需要关闭PyMongo连接。让它们保持打开状态,以便PyMongo的连接池为您提供最高效的性能:
此外,PyMongo多年前删除了“Connection”和“slave_ok”等旧API,请升级到最新版本,以获得最正确、最高效的驱动程序。使用MongoClient:
我担心的是,如果我打开了多个连接(比如200个),但没有关闭它们,那么另一台生产机器(比我的机器更重要)可能很难在mongo上打开会话,因为我通过脚本打开了太多空闲连接。我说的对吗?只创建一个MongoClient并在程序期间使用它。如果您的程序不是多线程的,MongoClient将打开到MongoDB的2个连接。请参阅连接池常见问题解答:虽然这可能是真的,但打开太多可能会导致问题。特别是因为您可以从一个源进行多个连接。@snooze92-我使用.close(),它会关闭Jupyter笔记本中的两个连接。@snooze92-明白。唯一的问题是,如果他们每次运行代码时都不断打开新连接:
conn_pf = pymongo.Connection(ip,27023,slaveOk=True)
conn_pfname = pymongo.Connection(ip,27023,slaveOk=True).__getattr__(resource+"_pfname").__getattr__("data")