---
name: "bson_append_code_with_scope"
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_append_code_with_scope"
---

# bson\_append\_code\_with\_scope(3)

## 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.

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
