bson_append_array_begin()#

Synopsis#

#define BSON_APPEND_ARRAY_BEGIN(b, key, child) \
   bson_append_array_begin (b, key, (int) strlen (key), child)

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

Parameters#

  • bson: A bson_t.

  • key: A string containing the name for the key.

  • key_length: The length of key or -1 to call strlen().

  • child: A bson_t.

Description#

The bson_append_array_begin() function shall begin appending an array field to bson. This allows for incrementally building a sub-array. Doing so will generally yield better performance as you will serialize to a single buffer. When done building the sub-array, the caller MUST call bson_append_array_end().

For generating array element keys, see bson_uint32_to_string().

Consider using bson_array_builder_t to append an array without needing to generate array element keys.

Returns#

Returns true if the operation was applied successfully. The function will fail if appending the array grows bson larger than INT32_MAX.