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

# bson\_reader\_read(3)

## SYNOPSIS

```
const bson_t *
bson_reader_read (bson_reader_t *reader, bool *reached_eof);
```

## PARAMETERS

- •

  **reader**: A *bson\_reader\_t*.

- •

  **reached\_eof**: A UNKNOWN.

## DESCRIPTION

The *bson\_reader\_read()* function shall read the next document from the underlying file-descriptor or buffer.

If there are no further documents or a failure was detected, then NULL is returned.

If we reached the end of the sequence, **reached\_eof** is set to true.

To detect an error, check for NULL and **reached\_of** is false.

## RETURNS

A *bson\_t* that should not be modified or freed.

## EXAMPLE

```
const bson_t *doc;
bool reached_eof = false;
while ((doc = bson_reader_read (reader, &reached_eof))) {
   /* do something */
}
if (!reached_eof) {
   fprintf (stderr, "Failed to read all documents.\n");
}
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
