startSession
정의
startSession
startSession
명령은 일련의 작업에 대해 새 논리적 세션 을 시작합니다.팁
mongosh
에서 이 명령을Mongo.startSession()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원 에 대한 자세한 내용은 지원되지 않는 명령을 참조하세요.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
구문
명령은 다음과 같은 구문을 가집니다:
db.runCommand( { startSession: 1 } )
startSession
를 실행하려면 db.runCommand( { <command> } )
메서드를 사용합니다.
db.runCommand( { startSession: 1 } )
중요
featureCompatibilityVersion
3.6 이어야 합니다. startSession
이상이어야 합니다.
행동
배포에서 인증/권한 부여를 시행하는 경우 startSession
명령을 실행하려면 인증을 받아야 합니다. startSession
을(를) 실행한 사용자는 생성된 세션을 소유하며, 해당 사용자만 세션을 사용할 수 있습니다.
배포서버에서 인증/권한 부여를 적용하지 않는 경우, 생성된 세션에는 소유자가 없으며 모든 연결의 모든 사용자가 사용할 수 있습니다. 사용자가 인증/권한 부여를 적용하지 않는 배포서버에 대해 세션을 인증하고 생성하는 경우, 사용자가 세션을 소유합니다. 그러나 모든 연결의 모든 사용자가 세션을 사용할 수 있습니다.
다운타임 없이 배포가 인증으로 전환되면 소유자가 없는 세션을 사용할 수 없습니다.
세션은 세션을 생성한 MongoClient
객체에만 사용할 수 있습니다. 단일 세션은 동시에 사용할 수 없습니다. 단일 세션을 사용하는 작업은 순차적으로 실행해야 합니다.
출력
startSession
는 명령의 상태 및 optime 외에도 다음과 같은 세션별 정보를 반환합니다.
필드 | 유형 | 설명 | |
---|---|---|---|
id | 문서 | 세션 식별자의 16바이트 UUID(Universally Unique Identifier) 부분을 포함하는 문서입니다.
세션의 식별자는 이 UUID와 인증된 사용자 자격 증명의 해시로 구성됩니다. | |
timeoutMinutes | 숫자 | 마지막 클라이언트 사용 이후 세션이 만료되기 전에 활성 상태로 유지된 시간(분)입니다. 기본적으로 세션의 만료 시간은 30분입니다. 이 값을 변경하려면 |