Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

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

(no description)

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

Defines 1 class

FindAndModify:: (5 methods):
  __construct()
  execute()
  getCommandDocument()
  createCommandDocument()
  createOptions()


Class: FindAndModify  - X-Ref

Operation for the findAndModify command.

This class is used internally by the FindOneAndDelete, FindOneAndReplace, and
FindOneAndUpdate operation classes.

__construct($databaseName, $collectionName, array $options)   X-Ref
Constructs a findAndModify command.

Supported options:

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

* collation (document): Collation specification.

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

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

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

* fields (document): Limits the fields to return for the matching
document.

* maxTimeMS (integer): The maximum amount of time to allow the query to
run.

* new (boolean): When true, returns the modified document rather than
the original. This option is ignored for remove operations. The
The default is false.

* query (document): Query by which to filter documents.

* remove (boolean): When true, removes the matched document. This option
cannot be true if the update option is set. The default is false.

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

Sessions are not supported for server versions < 3.6.

* sort (document): Determines which document the operation modifies if
the query selects multiple documents.

* typeMap (array): Type map for BSON deserialization.

* update (document): Update or replacement to apply to the matched
document. This option cannot be set if the remove option is true.

* upsert (boolean): When true, a new document is created if no document
matches the query. This option is ignored for remove operations. The
default is false.

* writeConcern (MongoDB\Driver\WriteConcern): Write concern.

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

param: string $databaseName   Database name
param: string $collectionName Collection name
param: array  $options        Command options

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

param: Server $server
return: array|object|null

getCommandDocument(Server $server)   X-Ref
No description

createCommandDocument(Server $server)   X-Ref
Create the findAndModify command document.

param: Server $server
return: array

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

return: array