$bottom (下位アキュムレータ)

最終更新:2026-10-09

$bottom (下位アキュムレータ)

$bottom は、指定したソート順序に従ってグループの末尾ドキュメントを返すアキュムレータです — ドキュメント全体を返し、$top と対称で、MongoDB 5.2 以降で利用できます。順序は $group の sortBy に由来し、入力順には依存しません。典型的にはグループごとの最低スコアや最古のレコードを取ります。

カテゴリアキュムレータ
MongoDB バージョン5.2+
例の言語mongosh(シェル)

📝 構文

{ $group: { _id: <key>, bottom: { $bottom: { sortBy: { <field>: <1 or -1> }, output: <expression> } } } }

戻り値:sortBy 順でグループの末尾ドキュメント

▶ 例

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

// $bottom: sortBy によるアイテムごとの最低価格
db.sales.aggregate([
  { $group: { _id: '$item', bottom: { $bottom: { sortBy: { price: 1 }, output: '$price' } } } }
])

出力:

{ "_id": "Pen", "bottom": 20 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$bottom と $min の違いは?
A$min は最小値を返します。$bottom は末尾のドキュメント全体または式の結果を返します。
Q最古のレコードはどう取得しますか?
A時刻の昇順で sortBy すれば、$bottom が最古を、$top が最新を取ります。
Q$bottom にはどのバージョンが必要ですか?
AMongoDB 5.2 以降が必要です。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%