Сколько раз вызывать mongoc_client_get_collection в библиотеке доступа к данным - PullRequest
0 голосов
/ 18 января 2019

Я разрабатываю две библиотеки, которые предоставляют доступ к двум различным коллекциям в базе данных, и они всегда используются вместе. У каждого есть функция соединения, которая создает клиента и затем вызывает 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...