我想知道如果我将数据库和集合作为类成员的引用保持不变吗?
喜欢那个
from pymongo import MongoClient
class ClientDataStore(object):
BASE_MONGO_CONNECTION_URL = 'mongodb://localhost:27017/'
MAIN_DB_NAME = "bank"
CLIENT_COLLECTION_NAME = "client"
def __init__(self):
self.mongo = MongoClient(ClientDataStore.BASE_MONGO_CONNECTION_URL)
self.db = self.mongo[ClientDataStore.MAIN_DB_NAME]
self.client_collection = self.db[ClientDataStore.CLIENT_COLLECTION_NAME]
def get_client_info(self, id):
client = self.client_collection.find_one({"_id": id})
return client
它会保持打开的连接还是会在必要时打开它?
或者我应该打开数据库并在我需要时才收集所有这些?
由于
答案 0 :(得分:0)
这是一个好主意。 MongoClient有一个连接池,可以无限期地保持打开的连接。保持开放连接可以减少延迟并提高应用程序的吞吐量。请参阅Connection Pool FAQ for PyMongo。