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.
- database: A mongoc_database_t.
- opts: A bson_t containing additional options.
- error: An optional location for a bson_error_t or
NULL.
opts may be NULL or a BSON document with additional command
options:
- sessionId: First, construct a mongoc_client_session_t with
mongoc_client_start_session(). You can begin a transaction with
mongoc_client_session_start_transaction(), optionally with a
mongoc_transaction_opt_t that overrides the options inherited from
database, and use mongoc_client_session_append() to add the
session to opts. See the example code for
mongoc_client_session_t.
- serverId: To target a specific server, include an int32
"serverId" field. Obtain the id by calling
mongoc_client_select_server(), then
mongoc_server_description_id() on its return value.
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);
}
2009-present, MongoDB, Inc.