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

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

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

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

戻る

コマンドの比較