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: 329 lines (13 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(string $databaseName, string $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.

* collation (document): Collation specification.

* comment (mixed): BSON value to attach as a comment to this command.

This is not supported for servers versions < 4.4.

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

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

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

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

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

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

getCommandDocument(Server $server)   X-Ref
Returns the command document for this operation.

return: array

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


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