문서 메뉴

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

cursor.limit()

이 페이지의 내용

  • 정의
  • 행동
cursor.limit()

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다 .

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

커서에서 limit() 메서드를 사용하여 커서가 반환할 최대 문서 수를 지정합니다. limit() 은(는) SQL 데이터베이스의 LIMIT 문과 유사합니다.

참고

데이터베이스에서 문서를 검색하기 전에 커서에 limit() 를 적용해야 합니다.

limit() 를 사용하여 성능을 극대화하고 MongoDB가 처리에 필요한 것보다 더 많은 결과를 반환하지 않도록 합니다.

limit() 메서드의 프로토타입 형식은 다음과 같습니다.

db.collection.find(<query>).limit(<number>)

limit() 의 동작은 -2 31 보다 작고 2 31 보다 큰 값에 대해 정의되지 않습니다.

limit() 에 숫자 값을 지정해야 합니다.

limit() 값이 0 (즉, .limit(0))이면 제한을 설정하지 않은 것과 같습니다.

음수 제한은 양수 제한과 비슷하지만 결과의 단일 배치를 반환한 후 커서를 닫는다는 점이 다릅니다. 따라서 음수 제한을 사용하면 제한된 결과 집합이 단일 배치에 맞지 않는 경우 수신되는 문서 수가 지정된 제한보다 적어집니다. 클라이언트는 음수 제한을 전달함으로써 getMore를 통해 후속 배치를 요청하지 않을 것임을 서버에 알립니다.

limit()sort() 와 함께 사용하는 경우 결과를 limit() 에 전달하기 전에 고유 값이 포함된 필드를 정렬에 포함해야 합니다.

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

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

자세한 내용은 sort () 메서드를 사용한 일관적인 정렬을 참조하세요.

skip()limit() 를 연결할 때 메서드 연결 순서는 결과에 영향을 주지 않습니다. 서버는 반환할 문서 수에 제한을 적용하기 전에 항상 정렬 순서를 기반으로 건너뛰기 작업을 적용합니다.

다음 코드 예시에서는 동일한 데이터 세트에 대해 항상 동일한 쿼리 결과를 생성하는 skip()limit() 에 대한 다양한 연결 순서를 보여 줍니다.

db.myColl.find().sort({_id: 1}).skip(3).limit(6);
db.myColl.find().sort({_id: 1}).limit(6).skip(3);
← cursor.itcount()

이 페이지의 내용