mongoc_bulk_operation_execute()

Synopsis

uint32_t
mongoc_bulk_operation_execute (mongoc_bulk_operation_t *bulk,
                               bson_t                  *reply,
                               bson_error_t            *error);

This function executes all operations queued into the bulk operation. If ordered was specified to mongoc_collection_create_bulk_operation(), then forward progress will be stopped upon the first error.

It is only valid to call mongoc_bulk_operation_execute() once. The mongoc_bulk_operation_t must be destroyed afterwards.

reply is always initialized, even upon failure. Callers must call bson_destroy() to release this potential allocation.

Parameters

bulk

A mongoc_bulk_operation_t.

reply

An uninitialized bson_t.

error

An optional location for a bson_error_t or NULL.

Errors

Errors are propagated via the error parameter.

Returns

On success, returns the server id used. On failure, returns 0 and sets error.

A write concern timeout or write concern error is considered a failure.

The reply document counts operations and collects error information. See Bulk Write Operations for examples.

See also mongoc_bulk_operation_get_hint, which gets the id of the server used even if the operation failed.