bson_append_code_with_scope()#

Synopsis#

#define BSON_APPEND_CODE_WITH_SCOPE(b, key, val, scope) \
   bson_append_code_with_scope (b, key, (int) strlen (key), val, scope)

bool
bson_append_code_with_scope (bson_t *bson,
                             const char *key,
                             int key_length,
                             const char *javascript,
                             const bson_t *scope);

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().

  • javascript: A NULL-terminated UTF-8 encoded string containing the javascript fragment.

  • scope: Optional bson_t containing the scope for javascript.

Description#

The bson_append_code_with_scope() function shall perform like bson_append_code() except it allows providing a scope to the javascript function in the form of a bson document.

If scope is NULL, this function appends an element with BSON type “code”, otherwise with BSON type “code with scope”.

Returns#

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