BSON_MERGE

Merges two BSON objects. BSON_MERGE performs the union of keys in both objects.

Syntax

BSON_MERGE(<obj1>, <obj2>)

Argument

<obj1>, <obj2>: A BSON object or an expression that evaluates to a valid BSON object.

Return Type

A BSON object.

Remarks

  • If the BSON objects include fields with identical names, the resulting object has the value corresponding to the last merged object for each respective field.

  • If the input is SQL NULL, BSON null or BSON undefined, it is considered equivalent to an empty object ({}).

Examples

Note: The following examples explicitly cast string to BSON for clarity. Similarly, the output is cast to JSON.

SELECT BSON_MERGE(NULL, '{"a":1, "b":2}':>BSON):>JSON AS Result;
+---------------+
| Result        |
+---------------+
| {"a":1,"b":2} |
+---------------+
SELECT BSON_MERGE('{"a":1,"b":{"c":1}}':>BSON, '{"c":2,"d":{"e":1}}':>BSON):>JSON AS Result;
+---------------------------------------+
| Result                                |
+---------------------------------------+
| {"a":1,"b":{"c":1},"c":2,"d":{"e":1}} |
+---------------------------------------+
SELECT BSON_MERGE('{"a":2, "b":2}':>BSON, '{"a": 3, "b":null, "c":3}':>BSON):>JSON AS Result;
+------------------------+
| Result                 |
+------------------------+
| {"a":3,"b":null,"c":3} |
+------------------------+

Last modified: April 2, 2024

Was this article helpful?