Итак, я создаю класс базы данных mongo, который будет предоставлять доступ к вставке документов в службу вставки и предоставлять доступ для просмотра документов через службу запросов. Сейчас я следующий для моего database.py класса:Где разместить клиентское и db-соединение в файле python
import pymongo
client = pymongo.MongoClient('mongodb://localhost:27017/')
db_connection = client['my_database']
class DB_Object(object):
""" A class providing structure and access to the Database """
def add_document(self, json_obj):
coll = db_connection["some collection"]
document = {
"name" : "imma name",
"raw value" : 777,
"converted value" : 333
}
coll.insert(document)
def query_response(self, query):
"""query logic here"""
Если я хочу параллельные запросы и вставка с этим классом вызываются несколько службами это правильное место для линий:
client = pymongo.MongoClient('mongodb://localhost:27017/')
db_connection = client['my_database']
И это стандартный способ обеспечения доступа?
@clifgray есть ли что-нибудь еще, что я могу вам помочь, или вы согласитесь с моим ответом как правильно? –
спасибо за следующее, короткое наблюдение. Этот код будет запущен на компьютере с клиентской стороной, но база данных mongo будет находиться на главном сервере. Имеет ли смысл иметь 5-10 экземпляров MongoClient, работающих здесь, на разных клиентских компьютерах, подключенных к главному серверу? – clifgray
Конечно, сервер MongoDB предназначен для обработки тысяч, даже десятков тысяч, одновременных клиентов. –