MongoDB Compassを使用していますが、Mongo Shellがありません。コレクションから「ジャンル」フィールドの個別の値を選択するには、MongoDB Compassツールを使用してクエリを作成する必要があります。
入力例:
{"_id":{"$oid":"58c59c6a99d4ee0af9e0c34e"},"title":"Bateau-mouche sur la Seine","year":{"$numberInt":"1896"},"imdbId":"tt0000042","genre":["Documentary”,”Short”],"viewerRating":{"$numberDouble":"3.8"},"viewerVotes":{"$numberInt":"17"},"director":"Georges Mlis"}
{"_id":{"$oid":"58c59c6a99d4ee0af9e0c340"},"title":"Watering the Flowers","year":{"$numberInt":"1896"},"imdbId":"tt0000035","genre":["Short”],"viewerRating":{"$numberDouble":"5.3"},"viewerVotes":{"$numberInt":"33"},"director":"Georges M�li�s"}
{"_id":{"$oid":"58c59c6a99d4ee0af9e0c34a"},"title":"The Boxing Kangaroo","year":{"$numberInt":"1896"},"imdbId":"tt0000048","genre":["Short”],"viewerRating":{"$numberDouble":"5.2"},"viewerVotes":{"$numberInt":"48"},"director":"Birt Acres"}
予想される出力:ドキュメンタリー、ショート
$ unwind および $ group を使用して、コンパスの集約フレームワークを介してこれを行うことができます。 $ unwindは、ターゲット配列の各要素に対して一意のドキュメントを作成するために実行されます。これにより、$-groupステージで $ addToSet 演算子を使用して、ジャンルを個別の要素としてキャプチャできます。
パイプライン:
[
{
$unwind: {
path: '$genre',
preserveNullAndEmptyArrays: true
}
},
{
$group: {
_id: null,
uniqueGenres: { $addToSet: '$genre' }
}
}
]
コンパスの例については、下のスクリーンショットを参照してください。