getMore
정의
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { getMore: <long>, collection: <string>, batchSize: <int>, maxTimeMS: <int>, comment: <any> } )
명령 필드
이 명령에는 다음과 같은 필드를 사용할 수 있습니다.
필드 | 유형 | 설명 |
---|---|---|
getMore | long | 커서 식별자입니다. |
collection | 문자열 | 커서가 작동 중인 컬렉션의 이름입니다. |
batchSize | 양의 정수 | 선택 사항. 해당 배치에서 반환할 문서 수입니다.
|
maxTimeMS | non-negative integer | 선택 사항. 서버가 고정 사이즈 컬렉션에서 테일 커서(tailable cursor) 쿼리와 일치하는 새 문서를 기다리는 최대 시간을 나타냅니다.
MongoDB는
|
comment | any | 선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.
댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다. 생략된 경우, |
출력
이 명령은 커서 정보와 다음 배치가 포함된 문서를 반환합니다.
예를 들어, 샤딩된 클러스터에서 find
작업으로 생성된 커서에서 getMore
를 실행하면 아래 출력과 비슷한 문서가 반환됩니다.
{ "cursor" : { "id" : NumberLong("678960441858272731"), "ns" : "test.contacts", "nextBatch" : [ { "_id" : ObjectId("5e8e501e1a32d227f9085857"), "zipcode" : "220000" } ], "partialResultsReturned" : true, "postBatchResumeToken": "< Resume Token >" }, "ok" : 1, "operationTime" : Timestamp(1586385239, 2), "$clusterTime" : { "clusterTime" : Timestamp(1586385239, 2), "signature" : { "hash" : BinData(0,"lLjejeW6AQGReR9x1PD8xU+tP+A="), "keyId" : NumberLong("6813467763969884181") } } }
필드 | 설명 |
---|---|
cursor | 커서 ID와 문서의 쿼리된 샤드를 사용할 수 없기 때문에
|
"ok" | 명령에 성공했는지( 1 ) 또는 실패했는지(0 ) 여부를 나타냅니다. |
이러한 필드 외에도 db.runCommand()
응답에는 다음과 같은 복제본 세트 및 샤딩된 클러스터에 대한 정보가 포함되어 있습니다.
$clusterTime
operationTime
자세한 내용은 db.runCommand() Response를 참조하세요.
행동
액세스 제어
인증이 활성화된 경우 사용자가 만든 커서에 대해서만 getMore
를 실행할 수 있습니다.
세션
세션 내에서 생성된 커서의 경우 세션 외부에서 getMore
를 호출할 수 없습니다.
이와 마찬가지로, 세션 외부에서 생성된 커서의 경우 세션 내부에서 getMore
를 호출할 수 없습니다.
트랜잭션
다중 문서 트랜잭션의 경우:
느린 쿼리
MongoDB 5.1부터는 getMore
명령이 저속 쿼리로 기록되면 queryHash 및 planCacheKey 필드가 저속 쿼리 로그 메시지 및 프로파일러 로그 메시지에 추가됩니다.