On this page
Variables in Aggregation Expressions
On this page
Aggregation expressions can use both user-defined and system variables.
Variables can hold any BSON type data. To access the value of the variable, use a string with the variable name prefixed with double dollar signs ($$
).
If the variable references an object, to access a specific field in the object, use the dot notation; i.e. "$$<variable>.<field>"
.
User Variables
User variable names can contain the ascii characters [_a-zA-Z0-9]
and any non-ascii character.
User variable names must begin with a lowercase ascii letter [a-z]
or a non-ascii character.
System Variables
MongoDB offers the following system variables:
Variable | Description |
---|---|
References the root document, i.e. the top-level document, currently being processed in the aggregation pipeline stage. | |
References the start of the field path being processed in the aggregation pipeline stage. Unless documented otherwise, all stages start with
|
|
A variable which evaluates to the missing value. Allows for the conditional exclusion of fields. In a For an example of its usage, see Conditionally Exclude Fields. New in version 3.6. |
|
One of the allowed results of a $redact expression. |
|
One of the allowed results of a $redact expression. |
|
One of the allowed results of a $redact expression. |