The MongoDB\Driver\Session class

- « MongoDB\Driver\BulkWriteCommand::updateOne

- MongoDB\Driver\Session::abortTransaction »

- PHP Manual
- MongoDB\Driver
- The MongoDB\Driver\Session class

# The MongoDB\Driver\Session class

(mongodb >=1.4.0)

## Introduction

The MongoDB\Driver\Session class represents a client session and is returned by MongoDB\Driver\Manager::startSession(). Commands, queries, and write operations may then be associated the session.

## Class synopsis

final class MongoDB\Driver\Session {
/* Constants */
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;
/* Methods */
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
}

## Predefined Constants

`MongoDB\Driver\Session::TRANSACTION_NONE`

  There is no transaction in progress.

`MongoDB\Driver\Session::TRANSACTION_STARTING`

  A transaction has been started, but no operation has been sent to the server.

`MongoDB\Driver\Session::TRANSACTION_IN_PROGRESS`

  A transaction is in progress.

`MongoDB\Driver\Session::TRANSACTION_COMMITTED`

  The transaction was committed.

`MongoDB\Driver\Session::TRANSACTION_ABORTED`

  The transaction was aborted.

## Table of Contents

- MongoDB\Driver\Session::abortTransaction — Aborts a transaction
- MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session
- MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session
- MongoDB\Driver\Session::commitTransaction — Commits a transaction
- MongoDB\Driver\Session::__construct — Create a new Session (not used)
- MongoDB\Driver\Session::endSession — Terminates a session
- MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session
- MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session
- MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session
- MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned
- MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction
- MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session
- MongoDB\Driver\Session::isDirty — Returns whether the session has been marked as dirty
- MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress
- MongoDB\Driver\Session::startTransaction — Starts a transaction