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 310 and 311] [Versions 311 and 401] [Versions 39 and 311]

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

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

isAcknowledgedWriteConcern()   X-Ref
No description

isHintSupported(Server $server)   X-Ref
No description