2015-03-18 4 views
1

Я создал клиента, который должен читать и обрабатывать данные из базы данных.Драйвер Mongodb C, проверьте, запущен ли сервер?

Я понял, что не могу проверить соединение, которое я создаю с помощью mongoc_client_new, просто проверяя, является ли оно нулевым, потому что драйвер использует ленивые соединения.

Как проверить, действительно ли база данных запущена и работает? Возможно, поиск в базе данных без добавления критериев запроса?

Я попробовал get_collection_count, но выплескивает -1, работает ли база данных или нет.

ответ

2

Я предполагаю, что mongoc_client_get_server_status может предоставить информацию.

 bson_t reply; 
     bson_error_t error; 
     if(mongoc_client_get_server_status(client, nullptr, &reply, &error)) { 
     bson_iter_t iter; 
     assert(bson_iter_init_find (&iter, &reply, "ok")); 
     } 
     bson_destroy(&reply); 
Смежные вопросы