$project
は、MongoDBの集計パイプライン操作で使用されるステージの1つです。このステージは、ドキュメント内のフィールドを変更、追加、除外するために使用されます。つまり、特定のフィールドを抽出して新しいフィールドを作成したり、不要なフィールドを取り除いたりできるステージです。
$project
ステージは以下のように使用されます:
{
$project: { <フィールド操作> }
}
ここで <フィールド操作>
は、フィールドの変更や追加、除外などの操作を指定するオブジェクトです。このオブジェクト内でクエリ演算子を使用してフィールド操作を定義します。
例えば、以下のように $project
ステージを使用して特定のフィールドを抽出して新しいフィールドを作成することができます:
{
$project: {
"name": 1, // "name" フィールドを残す
"borough": 1, // "borough" フィールドを残す
"score": "$grades.score", // "grades.score" フィールドを新しい "score" フィールドとして追加
"_id": 0 // "_id" フィールドを除外
}
}
また、演算子を使用して計算したり変更したりすることもできます。例えば、以下のように $project
ステージを使用して、日付フィールドから月と年を抽出することができます:
{
$project: {
"month": { $month: "$dateField" }, // "dateField" フィールドから月を抽出
"year": { $year: "$dateField" } // "dateField" フィールドから年を抽出
}
}
要するに、$project
ステージはドキュメント内のフィールドを操作するためのものであり、フィールドの抽出や計算、新しいフィールドの作成、不要なフィールドの除外などを行う際に使用されます。
コメント