次のようなコレクションがあるとします。
{
"_id": "10280",
"city": "NEW YORK",
"state": "NY",
"departments": [
{"departmentType":"01",
"departmentHead":"Peter"},
{"departmentType":"02",
"departmentHead":"John"}
]
},
{
"_id": "10281",
"city": "LOS ANGELES",
"state": "CA",
"departments": [
{"departmentType":"02",
"departmentHead":"Joan"},
{"departmentType":"03",
"departmentHead":"Mary"}
]
},
{
"_id": "10284",
"city": "MIAMI",
"state": "FL",
"department": [
"departments": [
{"departmentType":"01",
"departmentHead":"George"},
{"departmentType":"02",
"departmentHead":"Harry"}
]
}
次のように、departmentType ごとにカウントを取得したいと思います。
[{"departmentType":"01", "dCount":2},
{"departmentType":"02", "dCount":3},
{"departmentType":"03", "dCount":1}
]
このために、私はすでにほとんどすべてを試しましたが、オンラインで見つけたすべての例は、グループ化がドキュメントのルート レベルのフィールドに対して行われる簡単なものです。代わりに、ここでは departmentType でグループ化しようとしていますが、これまでに見つけたすべてのものを壊しているようです。
Mongoose の集計実装または mapreduce を使用してこれを行う方法についてのアイデアはありますか?
理想的には、count <= 1 のすべての departmentTypes を除外し、結果を departmentType で並べ替えたいと考えています。
よろしくお願いします!