bson_append_value()

Synopsis

#define BSON_APPEND_VALUE(b, key, val) \
   bson_append_value (b, key, (int) strlen (key), (val))

bool
bson_append_value (bson_t *bson,
                   const char *key,
                   int key_length,
                   const bson_value_t *value);

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().
  • value: A bson_value_t.

Description

Appends a new field to bson by determining the boxed type in value. This is useful if you want to copy fields between documents but do not know the field type until runtime.

Returns

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