$limit (aggregation)


Restricts the number of documents that pass through the $limit in the pipeline.

$limit takes a single numeric (positive whole number) value as a parameter. Once the specified number of documents pass through the pipeline operator, no more will. Consider the following example:

    { $limit : 5 }

This operation returns only the first 5 documents passed to it from by the pipeline. $limit has no effect on the content of the documents it passes.


Changed in version 2.4: $sort and memory requirements:

  • When a $sort immediately precedes a $limit in the pipeline, the $sort operation only maintains the top n results as it progresses, where n is the specified limit, and MongoDB only needs to store the number of items specified by $limit in memory. Before MongoDB 2.4, $sort would sort all the results in memory, and then limit the results to n results.
  • Unless the $sort operator can use an index or immediately precedes a $limit, the $sort operation must fit within memory. Before MongoDB 2.4, unless the $sort operator can use an index, the $sort operation must fit within memory.

$sort produces an error if the operation consumes 10 percent or more of RAM.