# mongoc_bulk_operation_update()

## Synopsis

    void
    mongoc_bulk_operation_update (mongoc_bulk_operation_t *bulk,
                                  const bson_t *selector,
                                  const bson_t *document,
                                  bool upsert);

This function queues an update as part of a bulk operation. This does not execute the operation. To execute the entirety of the bulk operation call mongoc_bulk_operation_execute().

`document` MUST only contain fields whose key starts with `$`. See the update document specification for more details.

This function is superseded by mongoc_bulk_operation_update_one_with_opts() and mongoc_bulk_operation_update_many_with_opts().

## Parameters

- `bulk`: A mongoc_bulk_operation_t.

- `selector`: A `bson_t` that selects which documents to remove.

- `document`: A `bson_t` containing the update document.

- `upsert`: `true` if an `upsert` should be performed.

## Errors

Errors are propagated via mongoc_bulk_operation_execute().

See also

mongoc_bulk_operation_update_one_with_opts()
mongoc_bulk_operation_update_many_with_opts()