Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401] [Versions 400 and 401]

(no description)

File Size: 391 lines (15 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

BulkWrite:: (4 methods):
  __construct()
  execute()
  createBulkWriteOptions()
  createExecuteOptions()


Class: BulkWrite  - X-Ref

Operation for executing multiple write operations.

__construct(string $databaseName, string $collectionName, array $operations, array $options = [])   X-Ref
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.

param: string  $databaseName   Database name
param: string  $collectionName Collection name
param: array[] $operations     List of write operations
param: array   $options        Command options

execute(Server $server)   X-Ref
Execute the operation.

return: BulkWriteResult

createBulkWriteOptions()   X-Ref
Create options for constructing the bulk write.


createExecuteOptions()   X-Ref
Create options for executing the bulk write.