Provided by: libmongoc-doc_2.2.1-1_all bug

SYNOPSIS

          typedef struct _mongoc_index_model_t mongoc_index_model_t;

          mongoc_index_model_t *
          mongoc_index_model_new (const bson_t *keys, const bson_t *opts);

          void mongoc_index_model_destroy (mongoc_index_model_t *model);

          bool
          mongoc_collection_create_indexes_with_opts (mongoc_collection_t *collection,
                                                      mongoc_index_model_t **models,
                                                      size_t n_models,
                                                      const bson_t *opts,
                                                      bson_t *reply,
                                                      bson_error_t *error);

PARAMETERS

collection: A mongoc_collection_t <>.

       • models: An array of mongoc_index_model_t *.

       • n_models: The number of models.

       • opts: Optional options.

       • reply: A maybe-NULL pointer to overwritable storage <https://www.mongodb.com/docs/languages/c/c-driver/
         current/libbson/guides/lifetimes/#overwritable-storage>  for  a bson_t <https://www.mongoc.org/libbson/
         current/bson_t.html> to contain the results.

       • error: An optional location for a bson_error_t <> or NULL.

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

       • writeConcern: Construct a mongoc_write_concern_t <> and use mongoc_write_concern_append() <> to add the
         write concern to opts. See the example code for mongoc_client_write_command_with_opts() <>.

       • 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  collection,  and  use
         mongoc_client_session_append()  <>  to  add  the  session  to  opts.   See   the   example   code   for
         mongoc_client_session_t <>.

       • collation:  Configure  textual  comparisons. See Setting Collation Order <https://www.mongodb.com/docs/
         languages/c/c-driver/current/libmongoc/guides/bulk/#setting-collation-order>, and  the  MongoDB  Manual
         entry   on  Collation  <https://www.mongodb.com/docs/manual/reference/collation/>.  Collation  requires
         MongoDB 3.2 or later, otherwise an error is returned.

       • 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.

       Additional  options  passed in opts are appended to the createIndexes command. See the MongoDB Manual for
       createIndexes <https://www.mongodb.com/docs/manual/reference/command/createIndexes/>  for  all  supported
       options.

       If no write concern is provided in opts, the collection's write concern is used.

   mongoc_index_model_t
       Each mongoc_index_model_t represents an index to create. mongoc_index_model_new includes:

       • keys  Expected  to  match the form of the key field in the createIndexes <https://www.mongodb.com/docs/
         manual/reference/command/createIndexes/> command.

       • opts Optional index options appended as a sibling to the key field in  the  createIndexes  <https://www
         .mongodb.com/docs/manual/reference/command/createIndexes/> command.

DESCRIPTION

       This  function  wraps  around  the  createIndexes <https://www.mongodb.com/docs/manual/reference/command/
       createIndexes/> command.

ERRORS

       Errors are propagated via the error parameter.

RETURNS

       Returns true if successful. Returns false and sets error if there are invalid arguments or  a  server  or
       network error.

       See also:
          Manage Collection Indexes <https://www.mongodb.com/docs/languages/c/c-driver/current/libmongoc/guides/manage-collection-indexes/>.

Author

       MongoDB, Inc

Copyright

       2009-present, MongoDB, Inc.

2.2.1                                             Dec 11, 2025     MONGOC_COLLECTION_CREATE_INDEXES_WITH_OPTS(3)