Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

集計式の変数

項目一覧

  • ユーザー変数
  • システム変数

集計式、には、ユーザー定義変数とシステム変数の両方を使用できます。

変数には任意の BSON 型のデータを保持できます。変数の値にアクセスするには、変数名の先頭に二重ドル記号($$)を付けます。例: "$$<variable>"

変数がオブジェクトを参照している場合、オブジェクト内の特定のフィールドにアクセスするには、ドット表記を使用します。例: "$$<variable>.<field>"

ユーザー変数名には、ASCII 文字 [_a-zA-Z0-9] と任意の非 ASCII 文字を含めることができます。

ユーザー変数名は、小文字の ASCII 文字 [a-z] または非 ASCII 文字で始める必要があります。

MongoDB は、次のシステム変数を提供します。

変数
説明
NOW
現在の日時値を返す変数。 NOWは配置のすべてのノードに同じ値を返し、集計パイプラインのすべての段階で同じ値が維持されます。
CLUSTER_TIME

現在のタイムスタンプ値を返す変数。

CLUSTER_TIME レプリカセットとシャーディングされたクラスターでのみ使用できます。

CLUSTER_TIME 配置のすべてのノードに同じ値が返され、パイプラインのすべての段階で同じ値が維持されます。

ROOT
集計パイプライン ステージで現在処理されているルート ドキュメント、つまり最上位ドキュメントを参照します。
CURRENT

集計パイプライン ステージで処理されるフィールドパスの開始を参照します。 特にドキュメントがない限り、すべてのステージは ROOT と同じCURRENTで始まり

CURRENTは変更可能です。 ただし、 $<field>$$CURRENT.<field>と同等であるため、 CURRENTを再バインドすると$アクセスの意味が変わります。

REMOVE

欠損値として評価される変数。$addFields および $project ステージのフィールドを除外できます。

$$REMOVE を使用した例については、以下を参照してください。

DESCEND
$redact 式の許可された結果の 1 つ。
PRUNE
$redact 式の許可された結果の 1 つ。
KEEP
$redact 式の許可された結果の 1 つ。
SEARCH_META

Atlas Searchクエリのメタデータ結果を保存する変数。 サポートされているすべての 集計パイプライン ステージ では、変数$$SEARCH_METAに設定された フィールドはクエリのメタデータ結果を返します。

使用量の例については、「Atlas Search ファセットカウント」を参照してください。

USER_ROLES

現在のユーザーに割り当てられているロールを返します。

USER_ROLESを含むユースケースについては、 findaggregationviewupdateOneupdateMany 、およびfindAndModify の例を参照してください。

バージョン 7.0 で追加

Tip

以下も参照してください。

戻る

コマンドの比較