char **
mongoc_database_get_collection_names_with_opts (mongoc_database_t *database,
                                                const bson_t *opts,
                                                bson_error_t *error)

Fetches a NULL terminated array of NULL-byte terminated char* strings containing the names of all of the collections in database.

This function is considered a retryable read operation. Upon a transient error (a network error, errors due to replica set failover, etc.) the operation is safely retried once. If retryreads is false in the URI (see mongoc_uri_t) the retry behavior does not apply.


opts may be NULL or a BSON document with additional command options:

For a list of all options, see the MongoDB Manual entry on the listCollections command.


Errors are propagated via the error parameter.


A NULL terminated array of NULL terminated char* strings that should be freed with bson_strfreev(). Upon failure, NULL is returned and error is set.


   bson_t opts = BSON_INITIALIZER;
   mongoc_read_concern_t *rc;
   bson_error_t error;
   char **strv;
   unsigned i;

   rc = mongoc_read_concern_new ();
   mongoc_read_concern_set_level (rc, MONGOC_READ_CONCERN_LEVEL_MAJORITY);
   mongoc_read_concern_append (rc, &opts);
   if ((strv = mongoc_database_get_collection_names_with_opts (
          database, &opts, &error))) {

      for (i = 0; strv[i]; i++)
         printf ("%s\n", strv[i]);

      bson_strfreev (strv);
   } else {
      fprintf (stderr, "Command failed: %s\n", error.message);

   mongoc_read_concern_destroy (rc);
   bson_destroy (&opts);