Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.

Differences Between: [Versions 311 and 401]

(no description)

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

Defines 1 class

BulkWrite:: (3 methods):
  __construct()
  execute()
  createOptions()


Class: BulkWrite  - X-Ref

Operation for executing multiple write operations.

__construct($databaseName, $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.

This is not supported for server versions < 3.4 and will result in an
exception at execution time if used.

Supported options for replaceOne, updateMany, and updateOne operations:

* collation (document): Collation specification.

This is not supported for server versions < 3.4 and will result in an
exception at execution time if used.

* 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.

This is not supported for server versions < 3.6 and will result in an
exception at execution time if used.

Supported options for the bulk write operation:

* bypassDocumentValidation (boolean): If true, allows the write to
circumvent document level validation. The default is false.

For servers < 3.2, this option is ignored as document level validation
is not available.

* 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.

* session (MongoDB\Driver\Session): Client session.

Sessions are not supported for server versions < 3.6.

* 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.

param: Server $server
return: BulkWriteResult

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

return: array