---
name: "mongoc_bulk_operation_update_one_with_opts"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_bulk_operation_update_one_with_opts"
---

# mongoc\_bulk\_operation\_update\_one\_with\_opts(3)

## SYNOPSIS

```
bool
mongoc_bulk_operation_update_one_with_opts (mongoc_bulk_operation_t *bulk,
                                            const bson_t *selector,
                                            const bson_t *document,
                                            const bson_t *opts,
                                            bson_error_t *error); /* OUT */
```

This function queues an update as part of a bulk operation. It will only modify a single document on the MongoDB server. This function does not execute the operation. To execute the entirety of the bulk operation call *mongoc\_bulk\_operation\_execute()*.

## PARAMETERS

- •

  **bulk**: A *mongoc\_bulk\_operation\_t*.

- •

  **selector**: A *bson\_t* that selects which document to remove.

- •

  **document**: A *bson\_t* containing the update document.

- •

  **error**: A *bson\_error\_t* any errors that may have occurred.

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

- •

  **validate**: Construct a bitwise-or of all desired *bson\_validate\_flags\_t*. Set to **false** to skip client-side validation of the provided BSON documents.

- •

  **collation**: Configure textual comparisons. See *Setting Collation Order*, and *the MongoDB Manual entry on Collation*. Collation requires MongoDB 3.2 or later, otherwise an error is returned.

- •

  **hint**: A document or string that specifies the index to use to support the query predicate.

- •

  **upsert**: If true, insert a document if none match **selector**.

- •

  **sort**: Specify a sort order when matching documents.

- •

  **arrayFilters**: An array of filters specifying to which array elements an update should apply.

**WARNING:**

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

## ERRORS

Operation errors are propagated via *mongoc\_bulk\_operation\_execute()*, while argument validation errors are reported by the **error** argument.

## RETURNS

Returns true on success, and false if there is a server or network error or if passed invalid arguments.

**SEE ALSO:**

```
mongoc_bulk_operation_update_many_with_opts()
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
