Moodle PHP Documentation 4.1
Moodle 4.1.11 (Build: 20240610) (c8c84b4af18)
MongoDB\Operation\BulkWrite Class Reference
Inheritance diagram for MongoDB\Operation\BulkWrite:
MongoDB\Operation\Executable

Public Member Functions

 __construct (string $databaseName, string $collectionName, array $operations, array $options=[])
 Constructs a bulk write operation.
 
 execute (Server $server)
 Execute the operation.
 

Public Attributes

const DELETE_MANY = 'deleteMany'
 
const DELETE_ONE = 'deleteOne'
 
const INSERT_ONE = 'insertOne'
 
const REPLACE_ONE = 'replaceOne'
 
const UPDATE_MANY = 'updateMany'
 
const UPDATE_ONE = 'updateOne'
 

Constructor & Destructor Documentation

◆ __construct()

MongoDB\Operation\BulkWrite::__construct ( string $databaseName,
string $collectionName,
array $operations,
array $options = [] )

Constructs a bulk write operation.

Example array structure for all supported operation types:

[ [ 'deleteMany' => [ $filter, $options ] ], [ 'deleteOne' => [ $filter, $options ] ], [ 'insertOne' => [ $document ] ], [ 'replaceOne' => [ $filter, $replacement, $options ] ], [ 'updateMany' => [ $filter, $update, $options ] ], [ 'updateOne' => [ $filter, $update, $options ] ], ]

Arguments correspond to the respective Operation classes; however, the writeConcern option is specified for the top-level bulk write operation instead of each individual operation.

Supported options for deleteMany and deleteOne operations:

  • collation (document): Collation specification.

Supported options for replaceOne, updateMany, and updateOne operations:

  • collation (document): Collation specification.
  • upsert (boolean): When true, a new document is created if no document matches the query. The default is false.

Supported options for updateMany and updateOne operations:

  • arrayFilters (document array): A set of filters specifying to which array elements an update should apply.

Supported options for the bulk write operation:

  • bypassDocumentValidation (boolean): If true, allows the write to circumvent document level validation. The default is false.
  • comment (mixed): BSON value to attach as a comment to this command(s) associated with this bulk write.

    This is not supported for servers versions < 4.4.

  • ordered (boolean): If true, when an insert fails, return without performing the remaining writes. If false, when a write fails, continue with the remaining writes, if any. The default is true.
  • let (document): Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. "$$var").
  • session (MongoDB\Driver\Session): Client session.
  • writeConcern (MongoDB\Driver\WriteConcern): Write concern.
Parameters
string$databaseNameDatabase name
string$collectionNameCollection name
array[]$operationsList of write operations
array$optionsCommand options
Exceptions
InvalidArgumentExceptionfor parameter/option parsing errors

Member Function Documentation

◆ execute()

MongoDB\Operation\BulkWrite::execute ( Server $server)

Execute the operation.

See also
Executable\execute()
Return values
BulkWriteResult
Exceptions
UnsupportedExceptionif write concern is used and unsupported
DriverRuntimeExceptionfor other driver errors (e.g. connection errors)

Implements MongoDB\Operation\Executable.


The documentation for this class was generated from the following file: