mal*_*lla 8 python connection disconnect mongoengine
我花了很多年的时间试图找到一个简单的例子,其中使用了MongoEngine并且关闭了连接.终于想出来并发布了我的代码.
我认为disconnect()应该最初使用,但它已被删除作为的同义词close().
from mongoengine import connect
def main():
#connect to db
db_client = connect('my_db', host='localhost', port=27017)
#close the connection
db_client.close()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
小智 5
我知道这是一个老问题,但是如果有人在搜索,我想我会给出一个替代答案。
close()实际上并没有从MongoEngine的连接列表中删除该连接。稍后尝试连接到其他数据库时,这会导致问题。
为了解决这个问题,我使用了mongoengine.connection.disconnect(即使未在中列出__all__)。我的代码如下所示:
from mongoengine import connect
from mongoengine.connection import disconnect
db = connect(alias='some_alias')
{do stuff}
disconnect(alias='some_alias')
Run Code Online (Sandbox Code Playgroud)
您也可以省略别名,因为在连接和断开连接中它将默认为“默认”。