MongoDB\Driver\Manager::startSession
(mongodb >=1.4.0)
MongoDB\Driver\Manager::startSession — 이 클라이언트와 함께 사용할 새 클라이언트 세션 시작
설명
final public MongoDB\Driver\Manager::startSession(array $options
= ?): MongoDB\Driver\Session
주어진 옵션에 대한 MongoDB\Driver\Session을 생성합니다. 그런 다음 명령, 쿼리 및 쓰기 작업을 실행할 때 세션을 지정할 수 있습니다.
참고: MongoDB\Driver\Session은 생성된 MongoDB\Driver\Manager에서만 사용할 수 있습니다.
매개변수
options
-
options
Option Type Description Default causalConsistency bool 세션에서 인과적 일관성을 구성합니다. true
인 경우 세션의 각 작업은 이전 읽기 또는 쓰기 작업 후에 인과적으로 정렬됩니다. 인과 관계 일관성을 비활성화하려면false
로 설정합니다.자세한 내용은 MongoDB 설명서의 » Casual Consistency을 참조하세요.
true
defaultTransactionOptions array 새로 생성된 트랜잭션에 적용할 기본 옵션입니다. 이러한 옵션은 각 옵션에 대해 다른 값으로 트랜잭션이 시작될 때 재정의되지 않는 한 사용됩니다. options
Option Type 설명 maxCommitTimeMS integer 단일 commitTransaction
명령을 실행할 수 있는 최대 시간(밀리초)입니다.지정된 경우
maxCommitTimeMS
는 0보다 크거나 같은 부호 있는 32비트 정수여야 합니다.readConcern MongoDB\Driver\ReadConcern 작업에 적용할 읽기 관심사입니다. 이 옵션은 MongoDB 3.2 이상에서 사용할 수 있으며 이전 서버 버전에 대해 지정된 경우 실행 시 예외가 발생합니다.
readPreference MongoDB\Driver\ReadPreference 작업을 위한 서버를 선택하는 데 사용할 읽기 기본 설정입니다. writeConcern MongoDB\Driver\WriteConcern 작업에 적용할 쓰기 관심사입니다. 이 옵션은 MongoDB 4.0 이상에서 사용할 수 있습니다.
[]
snapshot bool 세션에서 스냅샷 읽기를 구성합니다. true
인 경우 세션에서 지원되는 첫 번째 읽기 작업(즉,find
,aggregate
또는 unshardeddistinct
)에서 타임스탬프를 가져옵니다. 그런 다음 세션 내의 후속 읽기 작업은"snapshot"
읽기 우려 수준을 활용하여 해당 타임스탬프에서 과반수 커밋 데이터를 읽습니다. 스냅샷 읽기를 비활성화하려면false
로 설정합니다.스냅샷 읽기에는 MongoDB 5.0 이상이 필요하며 인과 관계 일관성, 트랜잭션 또는 쓰기 작업과 함께 사용할 수 없습니다.
"snapshot"
이true
인 경우"causalConsistency"
는 기본적으로false
로 설정됩니다.자세한 내용은 MongoDB 설명서의 » Read Concern "snapshot"을 참조하세요.
false
반환 값
MongoDB\Driver\Session을 반환합니다.
오류/예외
- 인수 구문 분석 오류에 대해 MongoDB\Driver\Exception\InvalidArgumentException을 던집니다.
-
"causalConsistency"
및"snapshot"
옵션이 모두true
인 경우 MongoDB\Driver\Exception\InvalidArgumentException을 던집니다. - 세션을 생성할 수 없는 경우 MongoDB\Driver\Exception\RuntimeException을 던집니다(예: libmongoc은 암호화를 지원하지 않음).
변경 로그
버전 | 설명 |
---|---|
PECL mongodb 1.11.0 | "snapshot" 옵션이 추가되었습니다. |
PECL mongodb 1.6.0 | "defaultTransactionOptions" 에 "maxCommitTimeMS" 옵션이 추가되었습니다. |
PECL mongodb 1.5.0 | "defaultTransactionOptions" 옵션이 추가되었습니다. |
기타
- MongoDB\Driver\Session
- MongoDB 매뉴얼의 » 캐주얼 일관성