# mongoc_gridfs_find_one()

## Deprecated

This function is deprecated, use mongoc_gridfs_find_one_with_opts() instead.

## Synopsis

    mongoc_gridfs_file_t *
    mongoc_gridfs_find_one (mongoc_gridfs_t *gridfs,
                            const bson_t *query,
                            bson_error_t *error) BSON_GNUC_WARN_UNUSED_RESULT
       BSON_GNUC_DEPRECATED_FOR (mongoc_gridfs_find_one_with_opts);

## Parameters

- `gridfs`: A mongoc_gridfs_t.

- `query`: A `bson_t`.

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

## Description

This function shall execute a query on the underlying gridfs implementation. The first file matching `query` will be returned. If there is an error, NULL is returned and `error` is filled out; if there is no error but no matching file is found, NULL is returned and the error code and domain are 0.

This function is considered a retryable read operation. Upon a transient error (a network error, errors due to replica set failover, etc.) the operation is safely retried once. If `retryreads` is false in the URI (see mongoc_uri_t) the retry behavior does not apply.

## Errors

Errors are propagated via the `error` parameter.

## Returns

A newly allocated mongoc_gridfs_file_t or `NULL` if no file could be found. You must free the resulting file with mongoc_gridfs_file_destroy() if non-NULL.