$min (Minimum Accumulator)
Last updated: 2026-10-09
$min (Minimum Accumulator)
$min is an accumulator returning the minimum value of a field across a group in $group, or the minimum array element in $project. Symmetric to $max, comparisons follow BSON type ordering and missing fields are ignored.
| Category | Accumulators |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
{ $group: { _id: <key>, min: { $min: "$field" } } }
Returns:Minimum value in the group (compared by BSON type order)
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// $min: lowest price per item
db.sales.aggregate([
{ $group: { _id: '$item', min: { $min: '$price' } } }
])
Output:
{ "_id": "Pen", "min": 20 }
{ "_id": "Book", "min": 5 }
📌 Notes
- Symmetric to $max with identical comparison rules
- Missing fields are ignored
- In $project it takes the smallest array element
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QCan $min find the earliest date?
AYes, dates compare chronologically, giving the earliest one.
QWhat is the difference between $min and $first?
A$min picks the smallest value anywhere; $first takes the value of the first document after sorting.
QDoes $min ignore null?
AMissing fields are ignored; null participates in BSON-ordered comparison.