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 CURRENT the same as ROOT. CURRENT is modifiable. However, since $<field> is equivalent to $$CURRENT.<field>, rebinding CURRENT changes the meaning of $ accesses. |
|
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. |