mongoc_client_get_server_descriptions man page

mongoc_client_get_server_descriptions() — None


mongoc_server_description_t **
mongoc_client_get_server_descriptions (
   const mongoc_client_t        *client,
   size_t                       *n);

Fetches an array of mongoc_server_description_t structs for all known servers in the topology. Returns no servers until the client connects. Returns a single server if the client is directly connected, or all members of a replica set if the client's MongoDB URI includes a "replicaSet" option, or all known mongos servers if the MongoDB URI includes a list of them.

show_servers (const mongoc_client_t *client)
   bson_t *b = BCON_NEW ("ping", BCON_INT32 (1));
   bson_error_t error;
   bool r;
   mongoc_server_description_t **sds;
   size_t i, n;

   /* ensure client has connected */
   r = mongoc_client_command_simple (client, "db", b, NULL, NULL, &error);
   if (!r) {
      MONGOC_ERROR ("could not connect: %s\n", error.message);

   sds = mongoc_client_get_server_descriptions (client, &n);

   for (i = 0; i < n; ++i) {
      printf ("%s\n", mongoc_server_description_host (sds[i])‐>host_and_port);

   mongoc_server_descriptions_destroy_all (sds, n);
   bson_destroy (&b);


A mongoc_client_t
Receives the length of the descriptions array.


A newly allocated array that must be freed with mongoc_server_descriptions_destroy_all


This page is part of MongoDB C Driver. Please report any bugs at https://jira.mongodb.org/browse/CDRIVER.

Referenced By

mongoc_server_description_ismaster(3), mongoc_server_description_t(3).

Explore man page connections for mongoc_client_get_server_descriptions(3).

MongoDB C Driver 2016-10-19