1

我创建了一个需要从数据库读取和处理数据的客户端。

我意识到我无法通过仅测试是否为空来测试我使用 mongoc_client_new 创建的连接,因为驱动程序使用惰性连接。

我如何测试数据库是否真的启动并运行?也许在没有添加查询条件的情况下搜索数据库?

我尝试了 get_collection_count ,但无论数据库是否正在运行,它都会吐出 -1 。

4

1 回答 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);
于 2015-08-24T13:18:40.050 回答