mongoc_cursor_t *
mongoc_collection_find_indexes_with_opts (mongoc_collection_t *collection,
                                          const bson_t *opts)

Fetches a cursor containing documents, each corresponding to an index on this collection.

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 listIndexes command.


Use mongoc_cursor_error() on the returned cursor to check for errors.


This function returns a newly allocated mongoc_cursor_t that should be freed with mongoc_cursor_destroy() when no longer in use. The returned mongoc_cursor_t is never NULL, even on error. The user must call mongoc_cursor_next() on the returned mongoc_cursor_t to execute the initial command.

Cursor errors can be checked with mongoc_cursor_error_document(). It always fills out the bson_error_t if an error occurred, and optionally includes a server reply document if the error occurred server-side.


Failure to handle the result of this function is a programming error.

In the returned cursor each result corresponds to the server’s representation of an index on this collection. If the collection does not exist on the server, the cursor will be empty.

The cursor functions mongoc_cursor_set_limit(), mongoc_cursor_set_batch_size(), and mongoc_cursor_set_max_await_time_ms() have no use on the returned cursor.