集計式、には、ユーザー定義変数とシステム変数の両方を使用できます。
変数には任意の BSON 型のデータを保持できます。変数の値にアクセスするには、変数名の先頭に二重ドル記号($$)を付けます。例: "$$<variable>"
変数がオブジェクトを参照している場合、オブジェクト内の特定のフィールドにアクセスするには、ドット表記を使用します。例: "$$<variable>.<field>"
ユーザー変数
ユーザー変数名には、ASCII 文字 [_a-zA-Z0-9] と任意の非 ASCII 文字を含めることができます。
ユーザー変数名は、小文字の ASCII 文字 [a-z] または非 ASCII 文字で始める必要があります。
システム変数
MongoDB は、次のシステム変数を提供します。
| 変数 | 説明 | 
|---|---|
| 現在の日時値を返す変数。  | |
| 現在のタイムスタンプ値を返す変数。 
 
 | |
| 集計パイプライン ステージで現在処理されているルート ドキュメント、つまり最上位ドキュメントを参照します。 | |
| 集計パイプラインステージで処理されるフィールドパスの開始を参照します。 特にドキュメントがない限り、すべてのステージは 
 | |
| 欠損値として評価される変数。 
 | |
| 
 | |
| 
 | |
| 
 | |
| Atlas Search クエリのメタデータ結果を保存する変数。サポートされているすべての集計パイプラインステージ では、変数 | |
| 現在のユーザーに割り当てられているロールを返します。 
 バージョン 7.0 で追加。 |