라이브러리

[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`: 트랜잭션 세션 객체가 유효하지 않은 경우.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 388 페이지

검색

게시물 검색