$limit (Limit)
Last updated: 2026-10-09
$limit (Limit)
$limit truncates the pipeline to the first N documents in the current order, changing only the count, not the content. Combined with $sort it implements top-N queries. Placing $limit early slashes the data later stages must process — a common optimization.
| Category | Core Stages |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
{ $limit: <positive integer> }
⚙️ Parameters
| count | Number of documents to keep; must be a positive integer. |
|---|
Returns:Document stream limited to the first N documents
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// $limit: top 5 articles by views
db.articles.aggregate([
{ $sort: { views: -1 } },
{ $limit: 5 }
])
Output:
// The 5 most-viewed articles
📌 Notes
- $limit keeps the first N documents in the pipeline's current order
- The argument must be a positive integer; 0 or negative errors
- Sort first, then limit, to get a true top-N
🏷️ Related Tags
💡 Related Cases
Introduction to Aggregate Pipelines: The `aggregate` Method and the Basic Stage
Change Streams: Real-Time Change Monitoring
$facet + $bucket + Text/Geospatial Search
$lookup and Associations with Multiple Sets
📚 Related Tutorials
❓ FAQ
QCan $limit and $skip be used together?
AYes. $skip drops the first N documents, then $limit truncates — offset plus limit pagination.
QIs it useful to place $limit early?
AYes. The earlier the truncation, the less data later stages process.
QCan $limit take a variable argument?
ANo, it must be a literal positive integer; use a $facet sub-pipeline for dynamic counts.