---
name: "bson_iter_document"
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_iter_document"
---

# bson\_iter\_document(3)

## SYNOPSIS

```
#define BSON_ITER_HOLDS_DOCUMENT(iter) \
   (bson_iter_type ((iter)) == BSON_TYPE_DOCUMENT)
void
bson_iter_document (const bson_iter_t *iter,
                    uint32_t *document_len,
                    const uint8_t **document);
```

## PARAMETERS

- •

  **iter**: A *bson\_iter\_t*.

- •

  **document\_len**: A location for the length of the document in bytes.

- •

  **document**: A location for the document buffer.

## DESCRIPTION

The **bson\_iter\_document()** function shall retrieve the raw buffer of a sub-document from **iter**. **iter** *MUST* be on an element that is of type BSON\_TYPE\_DOCUMENT. This can be verified with *bson\_iter\_type()* or the **BSON\_ITER\_HOLDS\_DOCUMENT()** macro.

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
