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: 168 lines (6 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

FindOneAndReplace:: (3 methods):
  __construct()
  execute()
  getCommandDocument()


Class: FindOneAndReplace  - X-Ref

Operation for replacing a document with the findAndModify command.

__construct($databaseName, $collectionName, $filter, $replacement, array $options = [])   X-Ref
Constructs a findAndModify command for replacing a document.

Supported options:

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

* collation (document): Collation specification.

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

* 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 not supported for server versions < 4.4 and will result in an
exception at execution time if used.

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

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

* returnDocument (enum): Whether to return the document before or after
the update is applied. Must be either
FindOneAndReplace::RETURN_DOCUMENT_BEFORE or
FindOneAndReplace::RETURN_DOCUMENT_AFTER. The default is
FindOneAndReplace::RETURN_DOCUMENT_BEFORE.

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

* upsert (boolean): When true, a new document is created if no document
matches the query. 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|object $filter         Query by which to filter documents
param: array|object $replacement    Replacement document
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