我正在使用python3为mongoDB连接编写上下文管理器。下面是代码
from pymongo import MongoClient
class MongoDBConnectionManager(object):
def __init__(self, db, collection):
self.db = db
self.collection = collection
self.connection = None
def __enter__(self):
self.connection = MongoClient('localhost', '27017')
self.collection.closed() # closing it to see if i get the error or not
db = self.connection[self.db]
collection_connect = db[self.collection]
return collection_connect
def __exit__(self, exc_type, exc_value, exc_traceback):
self.connection.close()
with MongoDBConnectionManager('my_db', 'my_collection') as mongo:
data = mongo.find_one({'_id': 1})
print(data)
我的问题是,在{
我做错什么了吗?这是创建和关闭mongoDB连接的正确方法吗?另外,如何确认连接已关闭
我知道MongoClient也可以作为上下文管理器使用。但我想知道定制上下文管理器的功能
任何帮助都将不胜感激
提前谢谢
你不必担心这些;MongoClient在数据库级别为您处理连接池。无需打开和关闭与数据库、集合或任何内容的多个连接;只是:
相关问题 更多 >
编程相关推荐