2017-07-03 19 views
0

dbとコレクションへの参照をクラスメンバとして保持すればよいのだろうか?そのDBとコレクションへの参照を保持するMongoDB python

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 

同様

それが開かれ、接続を維持するか、必要に応じてそれを開くのだろうか?

または、私が必要とするときだけ、dbを開いてコレクションを取得する必要がありますか?

ありがとうございました

答えて

0

これは良い考えです。 MongoClientにはオープンな接続を無期限に保持する接続プールがあります。オープンな接続を維持すると、アプリケーションの待ち時間が短縮され、スループットが向上します。 Connection Pool FAQ for PyMongoを参照してください。

関連する問題