문서 메뉴

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

killCursors

이 페이지의 내용

  • 정의
  • 필요한 액세스 권한
  • killCursors 및 트랜잭션
  • 예제

버전 3.2에 새로 추가되었습니다.

killCursors

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

참고

일반적으로 애플리케이션은 killCursors 명령을 직접 사용해서는 안 됩니다.

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

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

명령의 형식은 다음과 같습니다.

db.runCommand( { "killCursors": <collection>, "cursors": [ <cursor id1>, ... ], comment: <any> } )
필드
유형
설명
killCursors
문자열
컬렉션의 이름입니다.
cursors
배열
종료할 커서의 ID입니다.
comment
어떤

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

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

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

  • MongoDB 3.6.3부터 MongoDB 4.0.x 까지, 사용자가 자신의 커서를 종료하려면 killCursors 권한이 필요합니다. 커서는 커서 생성 시 사용자와 연관됩니다.

사용자가 killAnyCursor 권한을 가진 경우, 해당 사용자는 다른 사용자가 만든 커서를 포함하여 모든 커서를 죽일 수 있습니다.

트랜잭션 의 첫 번째 작업으로 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 (영문)
killOp →