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

startSession

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 출력
startSession

startSession 명령은 일련의 작업에 대해 새 논리적 세션 을 시작합니다.

mongosh에서 이 명령을 Mongo.startSession() 헬퍼 메서드를 통해서도 실행할 수 있습니다.

헬퍼 메서드는 mongosh 사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.

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

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

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

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

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) 부분을 포함하는 문서입니다.

id: { id: <UUID> }

세션의 식별자는 이 UUID와 인증된 사용자 자격 증명의 해시로 구성됩니다.

timeoutMinutes

숫자

마지막 클라이언트 사용 이후 세션이 만료되기 전에 활성 상태로 유지된 시간(분)입니다. 기본적으로 세션의 만료 시간은 30분입니다. 이 값을 변경하려면 localLogicalSessionTimeoutMinutes 을(를) 시작할 mongod 때 매개변수를 설정하세요. 복제본 세트 및 샤드 cluster의 경우 모든 구성원에 동일한 값을 지정해야 합니다.

돌아가기

refreshSessions

이 페이지의 내용