# bson_append_document_begin()

## Synopsis

    bool
    bson_append_document_begin (bson_t     *bson,
                                const char *key,
                                int         key_length,
                                bson_t     *child);

## Parameters

bson | A bson_t.
key | An ASCII C string containing the name of the field.
key_length | The length of key in bytes, or -1 to determine the length with strlen().
child | A bson_t to be initialized as the sub-document.

## Description

The bson_append_document_begin() function shall begin appending a sub-document to bson. Use child to add fields to the sub-document. When completed, call bson_append_document_end() to complete the element.

## Returns

true if the operation was applied successfully, otherwise false and bson should be discarded.