JSON_AGG and JSON_COMPOSE are similar functions that take a variable number of input parameters and packages them into a JSON document. Both commands use the same syntax and input parameters.
The difference is JSON_AGG is an aggregate function and JSON_COMPOSE is a scalar function. JSON_COMPOSE can call JSON_AGG to provide a more complex composition of a JSON document than the JSON_AGG function can do by itself.
- Use JSON_PUBLISH instead of JSON_AGG or JSON_COMPOSE.
- Use JSON_AGG and/or JSON_COMPOSE to create a JSON document, and then convert that document to BSON or UBJSON using a cast expression or the AsBSON method.