• 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 overwritablestorage for a bson_t 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 SettingCollationOrder, and theMongoDBManualentryonCollation. 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 MongoDBManualforcreateIndexes 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 command.
• opts Optional index options appended as a sibling to the key field in the createIndexes command.