MongoDB ネストされたフィールドのクエリ方法
MongoDBでは、集約パイプラインの中でフィールド集約(Field Collapsing)機能が使われます。集約パイプライン内の$groupステージを使用することでドキュメントのグループ分けを行い、各グループ内の集約するフィールドを選択します。
集約パイプラインを使用してフィールドを折りたたむ方法を示す簡単な例を示します:
db.collection.aggregate([
{
$group: {
_id: "$fieldToGroupBy",
foldedField: { $first: "$fieldToFold" }
}
}
])
上記の例では、collection はクエリされるコレクション名であり、fieldToGroupBy はそのグループ化に使用されるフィールドであり、fieldToFold は集計するフィールドです。
「$group」ステージでは、「fieldToGroupBy」フィールドでグループ化し、$first演算子を使用して各グループの先頭のドキュメントの「fieldToFold」フィールドの値をフォールドフィールドとして選択します。
集計パイプライン内の他のステージは、ニーズに合わせて調整して、より洗練されたドキュメントの折り畳み操作を行えます。その他の集計パイプライン操作の詳細については、MongoDBの公式ドキュメントを参照してください。