Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

killCursors

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 명령 필드
  • 필요한 액세스 권한
  • killCursors 및 트랜잭션
  • 예시
killCursors

컬렉션에 대해 지정된 커서를 종료합니다. MongoDB 드라이버는 클라이언트 사이드 커서 구현의 일부로 killCursors 명령을 사용합니다.

경고

애플리케이션은 일반적으로 killCursors 명령을 직접 실행 해서는 안 됩니다. 대신 운전자 가 커서 관리 를 자동으로 처리하다 하도록 합니다.

커서를 종료하려는 collection의 데이터베이스에 대해 killCursors 명령을 실행해야 합니다.

killCursors를 실행 하려면 db.runCommand( { <command> } ) 메서드를 사용합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

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

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원 에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.

명령은 다음과 같은 구문을 가집니다:

db.runCommand(
{
killCursors: <collection>,
cursors: [ <cursor id1>, ... ], comment: <any>
}
)

이 명령은 다음 필드를 사용합니다.

필드
유형
설명
killCursors
문자열
컬렉션의 이름입니다.
cursors
배열
종료할 커서의 ID입니다.
comment
any

선택 사항. 이 명령에 첨부할 사용자 제공 코멘트입니다. 설정되면 이 설명은 다음 위치에서 이 명령의 레코드와 함께 표시됩니다.

댓글은 유효한 모든 BSON types (문자열, 정수, 객체, 배열 등)이 될 수 있습니다.

사용자는 killCursors 권한 이 있는지 여부에 관계없이 항상 자신의 커서를 종료할 수 있습니다. 커서는 커서 생성 시 사용자와 연결됩니다.

사용자에게 killAnyCursor 권한 이 있는 경우 모든 사용자가 만든 커서를 종료할 수 있습니다.

killAnyCursor 권한 을 부여하는 Atlas 역할 및 권한을 확인하려면 Atlas 설명서에서 기본 제공 역할 및 권한 을 참조하세요.

killCursors 명령을 트랜잭션 의 첫 번째 작업으로 지정할 수 없습니다.

또한 트랜잭션 내에서 killCursors 명령을 실행 하면 서버 가 지정된 커서를 즉시 중지합니다. 트랜잭션 이 커밋 될 때까지 기다리지 않습니다 .

test.restaurants collection에 대한 다음 find 작업을 고려합니다.

use test
db.runCommand(
{ find: "restaurants",
filter: { stars: 5 },
projection: { name: 1, rating: 1, address: 1 },
sort: { name: 1 },
batchSize: 5
}
)

그러면 다음이 반환됩니다.

{
"waitedMS" : NumberLong(0),
"cursor" : {
"firstBatch" : [
{
"_id" : ObjectId("57506d63f578028074723dfd"),
"name" : "Cakes and more"
},
{
"_id" : ObjectId("57506d63f578028074723e0b"),
"name" : "Pies and things"
},
{
"_id" : ObjectId("57506d63f578028074723e1d"),
"name" : "Ice Cream Parlour"
},
{
"_id" : ObjectId("57506d63f578028074723e65"),
"name" : "Cream Puffs"
},
{
"_id" : ObjectId("57506d63f578028074723e66"),
"name" : "Cakes and Rolls"
}
],
"id" : NumberLong("18314637080"),
"ns" : "test.restaurants"
},
"ok" : 1
}

이 커서를 종료하려면 killCursors 명령을 사용합니다.

use test
db.runCommand( { killCursors: "restaurants", cursors: [ NumberLong("18314637080") ] } )

killCursors 다음 작업 세부 정보를 반환합니다.

{
"cursorsKilled" : [
NumberLong("18314637080")
],
"cursorsNotFound" : [ ],
"cursorsAlive" : [ ],
"cursorsUnknown" : [ ],
"ok" : 1
}

돌아가기

getParameter