$match
は、MongoDBの集計パイプライン操作で使用されるステージの1つです。このステージは、特定の条件に一致するドキュメントだけをパイプライン内でフィルタリングするために使用されます。
具体的には、$match
ステージはドキュメントのフィルタリングを行い、条件に一致するドキュメントのみが次のステージに渡されるようにします。これにより、後続のステージで特定の操作や計算を実行する際に、必要なドキュメントだけを対象に処理できるようになります。
$match
ステージは以下のように使用されます:
{
$match: { <条件オブジェクト> }
}
ここで <条件オブジェクト>
は、フィルタリング条件を指定するオブジェクトです。この条件オブジェクトは、クエリ演算子(例えば $eq
、$gt
、$in
など)を使用してドキュメントのフィールドと値を比較することで、条件に一致するドキュメントを抽出します。
例えば、以下のように $match
ステージを使用して “cuisine” フィールドが “Italian” であるドキュメントのみを抽出することができます:
{
$match: { "cuisine": "Italian" }
}
また、複数の条件を組み合わせてフィルタリングすることも可能です。例えば、”cuisine” が “Italian” であり、かつ “borough” が “Manhattan” のドキュメントを抽出するには次のようにします:
{
$match: {
"cuisine": "Italian",
"borough": "Manhattan"
}
}
要するに、$match
ステージは特定の条件に一致するドキュメントを選択し、次のステージに渡すために使用されるものです。
コメント