문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

$limit (aggregation)

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 예제
$limit

파이프라인의 다음 단계로 전달되는 문서 수를 제한합니다.

다음 환경에서 호스팅되는 배포에 $limit 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

$limit 단계의 프로토타입 형식은 다음과 같습니다.

{ $limit: <positive 64-bit integer> }

$limit 전달할 최대 문서 수를 지정하는 양의 정수를 사용합니다.

참고

MongoDB 5 부터 시작.0, $limit 파이프라인 집계에는 64비트 정수 제한이 있습니다. 이 제한을 초과하여 파이프라인에 전달된 값은 잘못된 인수 오류를 반환합니다.

다음 중 하나와 함께 $limit 단계를 사용하는 경우:

결과를 $limit 단계로 전달하기 전에 고유 값이 포함된 필드를 정렬에 하나 이상 포함해야 합니다.

중복 값이 포함된 필드를 기준으로 정렬하면 특히 컬렉션이 활발하게 쓰기를 수신하는 경우 여러 번 실행할 때 중복 필드에 대해 일관되지 않은 정렬 순서가 반환될 수 있습니다.

정렬 일관성을 보장하는 가장 쉬운 방법은 정렬 쿼리에 _id 필드를 포함하는 것입니다.

각각에 대한 자세한 내용은 다음을 참조하세요:

다음 예를 고려하십시오.

db.article.aggregate([
{ $limit : 5 }
]);

이 작업은 파이프라인에서 전달된 첫 번째 5 문서만 반환합니다. $limit 는 전달되는 문서의 내용에는 영향을 주지 않습니다.

참고

$sort$limit } 앞에 오고 문서 수를 수정하는 중간 단계가 없는 경우, 옵티마이저는 $limit$sort 로 병합할 수 있습니다. 이렇게 하면 $sort 작업이 진행되면서 상위 n 결과만 유지할 수 있으며(여기서 n 은 지정된 제한값), MongoDB는 메모리에 n 개의 항목만 저장하면 됩니다. 이 최적화는 allowDiskUsetrue 이고 n 항목이 애그리게이션 메모리 제한을 초과하는 경우에도 여전히 적용됩니다.

다음도 참조하세요.

← $indexStats (aggregation)

이 페이지의 내용