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

Defines 1 class


Class: Find  - X-Ref

Operation for the find command.

__construct(string $databaseName, string $collectionName, $filter, array $options = [])   X-Ref
Constructs a find command.

Supported options:

* allowDiskUse (boolean): Enables writing to temporary files. When set
to true, queries can write data to the _tmp sub-directory in the
dbPath directory.

* allowPartialResults (boolean): Get partial results from a mongos if
some shards are inaccessible (instead of throwing an error).

* batchSize (integer): The number of documents to return per batch.

* collation (document): Collation specification.

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

Only string values are supported for server versions < 4.4.

* cursorType (enum): Indicates the type of cursor to use. Must be either
NON_TAILABLE, TAILABLE, or TAILABLE_AWAIT. The default is
NON_TAILABLE.

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

* limit (integer): The maximum number of documents to return.

* max (document): The exclusive upper bound for a specific index.

* maxAwaitTimeMS (integer): The maxium amount of time for the server to wait
on new documents to satisfy a query, if cursorType is TAILABLE_AWAIT.

* maxScan (integer): Maximum number of documents or index keys to scan
when executing the query.

This option has been deprecated since version 1.4.

* maxTimeMS (integer): The maximum amount of time to allow the query to
run. If "$maxTimeMS" also exists in the modifiers document, this
option will take precedence.

* min (document): The inclusive upper bound for a specific index.

* modifiers (document): Meta operators that modify the output or
behavior of a query. Use of these operators is deprecated in favor of
named options.

* noCursorTimeout (boolean): The server normally times out idle cursors
after an inactivity period (10 minutes) to prevent excess memory use.
Set this option to prevent that.

* oplogReplay (boolean): Internal replication use only. The driver
should not set this. This option is deprecated as of MongoDB 4.4.

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

* readConcern (MongoDB\Driver\ReadConcern): Read concern.

* readPreference (MongoDB\Driver\ReadPreference): Read preference.

* returnKey (boolean): If true, returns only the index keys in the
resulting documents.

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

* showRecordId (boolean): Determines whether to return the record
identifier for each document. If true, adds a field $recordId to the
returned documents.

* skip (integer): The number of documents to skip before returning.

* snapshot (boolean): Prevents the cursor from returning a document more
than once because of an intervening write operation.

This options has been deprecated since version 1.4.

* sort (document): The order in which to return matching documents. If
"$orderby" also exists in the modifiers document, this option will
take precedence.

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

* typeMap (array): Type map for BSON deserialization. This will be
applied to the returned Cursor (it is not sent to the server).

param: string       $databaseName   Database name
param: string       $collectionName Collection name
param: array|object $filter         Query by which to filter documents
param: array        $options        Command options

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

return: Cursor

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

return: array

createCommandDocument()   X-Ref
Construct a command document for Find


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


createQueryOptions()   X-Ref
Create options for the find query.

Note that these are separate from the options for executing the command,
which are created in createExecuteOptions().