# 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 abortTransaction(): void
final public advanceClusterTime(array|object `$clusterTime`): void
final public advanceOperationTime(MongoDB\BSON\TimestampInterface `$operationTime`): void
final public commitTransaction(): void
final private __construct()
final public endSession(): void
final public getClusterTime(): ?object
final public getLogicalSessionId(): object
final public getOperationTime(): ?MongoDB\BSON\Timestamp
final public getServer(): ?MongoDB\Driver\Server
final public getTransactionOptions(): ?array
final public getTransactionState(): string
final public isDirty(): bool
final public isInTransaction(): bool
final public 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