Я разрабатываю две библиотеки, которые предоставляют доступ к двум различным коллекциям в базе данных, и они всегда используются вместе. У каждого есть функция соединения, которая создает клиента и затем вызывает mongoc_client_get_collection (каждый получает различную коллекцию из той же базы данных). Это лучший способ сделать это? Или я должен разделить клиента между обеими библиотеками и вызывать mongoc_client_get_collection в каждой операции CRUD?
Спасибо!
Я прилагаю свою функцию подключения. У меня есть эта функция в обеих библиотеках, но она соединяет каждую библиотеку с разными коллекциями.
bool ECfg_ConnectBD(char* bd_url, ECfgError_t error) {
CLIENT = nullptr;
bson_error_t bson_error;
mongoc_uri_t *uri;
mongoc_init();
if (bd_url == nullptr) {
uri = mongoc_uri_new_with_error(bd_url, &bson_error);
}
else {
uri = mongoc_uri_new_with_error(DEFAULT_URL, &bson_error);
}
if (!uri) {
error = bson_error.message;
return false;
}
CLIENT = mongoc_client_new_from_uri(uri);
if (!CLIENT) {
return false;
}
mongoc_client_set_appname(CLIENT, "ECfg_BD-MONGO");
COLLECTION = mongoc_client_get_collection(CLIENT, DB_NAME, CONF_TABLE);
return true;
}