라이브러리
[PHP] MongoDBDriverSession::getTransactionState - 이 세션에 대한 현재 트랜잭션 상태를 반환합니다.
MongoDBDriverSession::getTransactionState
`MongoDBDriverSession::getTransactionState` 메소드는 MongoDB 드라이버에서 트랜잭션의 현재 상태를 반환합니다. 이 메소드는 `MongoDBDriverSession` 객체의 메소드입니다.
사용 방법
트랜잭션을 시작하고, 데이터를 삽입/수정/삭제하는 등의 작업을 수행한 후, `getTransactionState` 메소드를 호출하여 트랜잭션의 현재 상태를 확인할 수 있습니다.
예제
#hostingforum.kr
php
// MongoDB 드라이버를 사용하여 연결을 설정합니다.
$m = new MongoDBDriverManager("mongodb://localhost:27017");
// 데이터베이스와 컬렉션을 선택합니다.
$database = $m->selectDatabase("mydatabase");
$collection = $database->selectCollection("mycollection");
// 트랜잭션을 시작합니다.
$session = new MongoDBDriverSession();
$session->startTransaction();
// 데이터를 삽입합니다.
$bulk = new MongoDBDriverBulkWrite;
$bulk->insert(['name' => 'John', 'age' => 30]);
$collection->executeBulkWrite('mycollection', $bulk);
// 데이터를 수정합니다.
$bulk->updateOne(['name' => 'John'], ['$set' => ['age' => 31]]);
$collection->executeBulkWrite('mycollection', $bulk);
// 트랜잭션의 현재 상태를 확인합니다.
$transactionState = $session->getTransactionState();
echo "트랜잭션 상태: " . $transactionState->getState() . "
";
// 트랜잭션을 커밋합니다.
$session->commitTransaction();
// 트랜잭션의 현재 상태를 다시 확인합니다.
$transactionState = $session->getTransactionState();
echo "트랜잭션 상태: " . $transactionState->getState() . "
";
트랜잭션 상태
`getTransactionState` 메소드는 `MongoDBDriverSessionTransactionState` 객체를 반환합니다. 이 객체에는 다음과 같은 속성이 포함됩니다.
* `getState()`: 트랜잭션의 현재 상태를 반환합니다. 가능한 상태는 `MongoDBDriverSessionTransactionState::STATE_COMMITTED`, `MongoDBDriverSessionTransactionState::STATE_ABORTED`, `MongoDBDriverSessionTransactionState::STATE_IN_PROGRESS`입니다.
* `getCommitTime()`: 트랜잭션을 커밋한 시간을 반환합니다.
* `getAbortedTime()`: 트랜잭션을 취소한 시간을 반환합니다.
예외
`getTransactionState` 메소드는 다음과 같은 예외를 반환할 수 있습니다.
* `MongoDBDriverExceptionRuntimeException`: 트랜잭션이 존재하지 않거나, 트랜잭션의 상태를 확인할 수 없는 경우.
* `MongoDBDriverExceptionInvalidArgumentType`: 트랜잭션 세션 객체가 유효하지 않은 경우.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.