# mongoc_bulk_operation_insert_with_opts()

## Synopsis

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

Queue an insert of a single document into a bulk operation. The insert is not performed until mongoc_bulk_operation_execute() is called.

## Parameters

- `bulk`: A mongoc_bulk_operation_t.

- `document`: A `bson_t`.

- `error`: An optional location for a bson_error_t or `NULL`.

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

## 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 passed invalid arguments.