Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.0.x will end 8 May 2023 (12 months).
  • Bug fixes for security issues in 4.0.x will end 13 November 2023 (18 months).
  • PHP version: minimum PHP 7.3.0 Note: the minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is also supported.

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

(no description)

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

Defines 1 class

FindAndModify:: (7 methods):
  __construct()
  execute()
  getCommandDocument()
  createCommandDocument()
  createOptions()
  isAcknowledgedWriteConcern()
  isHintSupported()


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.

* hint (string|document): The index to use. Specify either the index
name as a string or the index key pattern as a document. If specified,
then the query system will only consider plans using the hinted index.

This is only supported on server versions >= 4.4. Using this option in
other contexts will result in an exception at execution time.

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

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

getCommandDocument(Server $server)   X-Ref
No description

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

return: array
param: Server $server

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

return: array

isAcknowledgedWriteConcern()   X-Ref
No description

isHintSupported(Server $server)   X-Ref
No description