$sortByCount (件数順ソート)

最終更新:2026-10-09

$sortByCount (件数順ソート)

$sortByCount は $group と $sort の省略記法です: 式の値ごとにグループ化し、グループごとの件数を数えて、{ _id: value, count: N } を件数の降順で出力します。単語頻度やカテゴリのランキングに最適です。$sum: 1 の $group に、件数降順の $sort を続けたものと同じです。

カテゴリコアステージ
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $sortByCount: <expression> }

⚙️ パラメータ

グループ化式グループキーを決定する式。フィールド参照または計算式です。

戻り値:count の降順で並べた { _id, count } ドキュメントストリーム

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $sortByCount: 評価ごとのレビュー件数
db.reviews.aggregate([
  { $sortByCount: '$rating' }
])

出力:

{ "_id": 5, "count": 42 }
{ "_id": 4, "count": 31 }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$sortByCount と $group の違いは?
A$sortByCount は $group と $sort を合わせた省略記法で、出力は _id/count に固定され、件数の降順で並びます。
Q結果を昇順にできますか?
A直接はできません。別の順序が必要なら通常の $group と $sort を組み合わせて書きます。
Q複数フィールドでグループ化できますか?
A複数フィールドを参照するドキュメント式をグループキーとして渡します。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%