$first (最初のアキュムレータ)

最終更新:2026-10-09

$first (最初のアキュムレータ)

$first は、グループの最初のドキュメントのフィールドを返すアキュムレータです。入力順に依存するため、$group の前の $sort(MongoDB 5.2 以降は $group 内の sortBy)が重要です。$setWindowFields ではウィンドウ演算子としても使えます。

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

📝 構文

{ $group: { _id: <key>, first: { $first: "$field" } } }

戻り値:グループ内の最初のドキュメントのフィールド値(入力順)

▶ 例

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

// $first: アイテムごとに最も古いレコードの価格
db.sales.aggregate([
  { $sort: { date: 1 } },
  { $group: { _id: '$item', firstPrice: { $first: '$price' } } }
])

出力:

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

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$first の順序はどう保証しますか?
A$group の前に $sort するか、MongoDB 5.2 以降では $group 内の sortBy を使います。
Q$first と $min の違いは?
A$first は入力順の最初のドキュメントを取ります。$min は順序に関係なく最小の値を取ります。
Q空のグループはどうなりますか?
A空のグループは生成されません。$group は実在するグループのみを出力します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%