killSessions
정의
killSessions
버전 3.6에 새로 추가되었습니다.
killSessions
명령은 지정된 세션을 종료합니다. 액세스 제어가 활성화된 경우 이 명령은 사용자가 소유한 세션만 종료합니다. [1]
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { killSessions: [ { id : <UUID> }, ... ] } )
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2 및 M5 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
명령 필드
이 명령은 세션 ID의 UUID 부분을 지정하는 문서 배열을 사용합니다. 빈 배열 [ ]
를 지정하여 모든 세션을 종료하거나 액세스 제어가 활성화된 경우 사용자가 소유한 모든 세션을 종료합니다. [1]
기존 세션을 보려면 $listSessions
작업 또는 $listLocalSessions
를 참조하세요.
[1] | (1, 2) killSessions 작업은 준비된 상태의 트랜잭션 이 있는 세션을 무시합니다. 자세한 내용은 동작 을 참조하세요. |
행동
세션 식별
MongoDB는 지정된 각 UUID를 인증된 사용자 자격 증명의 해시와 연결하여 종료할 사용자의 세션을 식별합니다. 사용자에게 일치하는 세션이 없는 경우 killSessions
는 효과가 없습니다.
진행 중인 작업
세션을 종료하면 세션에서 진행 중인 모든 작업이 종료되고 이러한 작업과 관련된 열려 있는 커서가 모두 닫힙니다.
종료된 세션 가용성
종료된 세션은 여전히 현재 세션으로 나열될 수 있으며, 향후 작업에서 종료된 세션을 사용할 수 있습니다. 기존 세션을 보려면 $listSessions
작업 또는 $listLocalSessions
를 참조하세요.
준비된 상태의 트랜잭션이 있는 세션
killSessions
작업은 준비된 상태의 트랜잭션 이 있는 세션을 무시합니다. 준비된 상태의 트랜잭션은 커밋 코디네이터가 "sendingPrepare"
action
을 완료한 여러 샤드에 걸쳐 있는 쓰기 작업이 있는 트랜잭션을 나타냅니다.
예시
다음 작업은 사용자에 대해 지정된 세션을 종료합니다.
db.runCommand( { killSessions: [ { id: UUID("f9b3d8d9-9496-4fff-868f-04a6196fc58a") } ] } )