# La classe MongoDB\Driver\Session

(mongodb >=1.4.0)

## Introduction

La classe MongoDB\Driver\Session représente une session client et est retournée par MongoDB\Driver\Manager::startSession(). Les commandes, les requêtes et les opérations d'écriture peuvent ensuite être associées à la session.

## Synopsis de la classe

final class MongoDB\Driver\Session {
/* Constantes */
const string TRANSACTION_NONE = none;
const string TRANSACTION_STARTING = starting;
const string TRANSACTION_IN_PROGRESS = in_progress;
const string TRANSACTION_COMMITTED = committed;
const string TRANSACTION_ABORTED = aborted;
/* Méthodes */
final public function abortTransaction(): void
final public function advanceClusterTime(array|object `$clusterTime`): void
final public function advanceOperationTime(MongoDB\BSON\TimestampInterface `$operationTime`): void
final public function commitTransaction(): void
final private function __construct()
final public function endSession(): void
final public function getClusterTime(): ?object
final public function getLogicalSessionId(): object
final public function getOperationTime(): ?MongoDB\BSON\Timestamp
final public function getServer(): ?MongoDB\Driver\Server
final public function getTransactionOptions(): ?array
final public function getTransactionState(): string
final public function isDirty(): bool
final public function isInTransaction(): bool
final public function startTransaction(?array `$options` = `null`): void
}

## Constantes pré-définies

`MongoDB\Driver\Session::TRANSACTION_NONE`
  Il n'y a pas de transaction en cours.
`MongoDB\Driver\Session::TRANSACTION_STARTING`
  Une transaction a été démarrée, mais aucune opération n'a été envoyée au serveur.
`MongoDB\Driver\Session::TRANSACTION_IN_PROGRESS`
  Une transaction est en cours.
`MongoDB\Driver\Session::TRANSACTION_COMMITTED`
  Une transaction a été validée.
`MongoDB\Driver\Session::TRANSACTION_ABORTED`
  Une transaction a été annulée.

## Sommaire

- MongoDB\Driver\Session::abortTransaction — Annule une transaction
- MongoDB\Driver\Session::advanceClusterTime — Avance le temps du cluster pour cette session
- MongoDB\Driver\Session::advanceOperationTime — Avance le temps d'opération pour cette session
- MongoDB\Driver\Session::commitTransaction — Valide la transaction
- MongoDB\Driver\Session::__construct — Créer une nouvelle session (inutilisée)
- MongoDB\Driver\Session::endSession — Termine une session
- MongoDB\Driver\Session::getClusterTime — Renvoie le temps du cluster pour cette session
- MongoDB\Driver\Session::getLogicalSessionId — Renvoie l'identifiant de session logique pour cette session
- MongoDB\Driver\Session::getOperationTime — Renvoie le temps d'opération pour cette session
- MongoDB\Driver\Session::getServer — Renvoie le serveur auquel cette session est épinglée
- MongoDB\Driver\Session::getTransactionOptions — Renvoie les options pour la transaction en cours
- MongoDB\Driver\Session::getTransactionState — Renvoie l'état de la transaction actuelle pour cette session
- MongoDB\Driver\Session::isDirty — Renvoie si la session a été marquée comme sale
- MongoDB\Driver\Session::isInTransaction — Renvoie si une transaction multi-document est en cours
- MongoDB\Driver\Session::startTransaction — Commence une transaction

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open