# La clase MongoDB\Driver\Session

(mongodb >=1.4.0)

## Introducción

La clase MongoDB\Driver\Session representa una sesión de cliente y es devuelta por MongoDB\Driver\Manager::startSession(). Los comandos, consultas y operaciones de escritura pueden entonces asociarse a la sesión.

## Sinopsis de la Clase

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étodos */
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 predefinidas

`MongoDB\Driver\Session::TRANSACTION_NONE`
  No hay ninguna transacción en curso.
`MongoDB\Driver\Session::TRANSACTION_STARTING`
  Se ha iniciado una transacción, pero no se ha enviado ninguna operación al servidor.
`MongoDB\Driver\Session::TRANSACTION_IN_PROGRESS`
  Hay una transacción en curso.
`MongoDB\Driver\Session::TRANSACTION_COMMITTED`
  La transacción se ha confirmado.
`MongoDB\Driver\Session::TRANSACTION_ABORTED`
  La transacción se ha abortado.

## Tabla de contenidos

- MongoDB\Driver\Session::abortTransaction — Anula una transacción
- MongoDB\Driver\Session::advanceClusterTime — Avance el tiempo del cluster para esta sesión
- MongoDB\Driver\Session::advanceOperationTime — Avance el tiempo de operación para esta sesión
- MongoDB\Driver\Session::commitTransaction — Valida la transacción
- MongoDB\Driver\Session::__construct — Crear una nueva sesión (sin usar)
- MongoDB\Driver\Session::endSession — Termina una sesión
- MongoDB\Driver\Session::getClusterTime — Devuelve el tiempo del cluster para esta sesión
- MongoDB\Driver\Session::getLogicalSessionId — Devuelve el identificador de sesión lógica para esta sesión
- MongoDB\Driver\Session::getOperationTime — Devuelve el tiempo de operación para esta sesión
- MongoDB\Driver\Session::getServer — Devuelve el servidor al que esta sesión está fijada
- MongoDB\Driver\Session::getTransactionOptions — Devuelve las opciones para la transacción en curso
- MongoDB\Driver\Session::getTransactionState — Devuelve el estado de la transacción actual para esta sesión
- MongoDB\Driver\Session::isDirty — Indica si la sesión ha sido marcada como sucia
- MongoDB\Driver\Session::isInTransaction — Indica si una transacción multi-documento está en curso
- MongoDB\Driver\Session::startTransaction — Inicia una transacción

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