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

Defines 1 class

Aggregate:: (6 methods):
  __construct()
  execute()
  getCommandDocument()
  createCommandDocument()
  createCommandOptions()
  executeCommand()


Class: Aggregate  - X-Ref

Operation for the aggregate command.

__construct(string $databaseName, ?string $collectionName, array $pipeline, array $options = [])   X-Ref
Constructs an aggregate command.

Supported options:

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

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

* bypassDocumentValidation (boolean): If true, allows the write to
circumvent document level validation. This only applies when an $out
or $merge stage is specified.

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

* explain (boolean): Specifies whether or not to return the information
on the processing of the pipeline.

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

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

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

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

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

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

This option is ignored if an $out or $merge stage is specified.

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

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

* useCursor (boolean): Indicates whether the command will request that
the server provide results using a cursor. The default is true.

This option allows users to turn off cursors if necessary to aid in
mongod/mongos upgrades.

* writeConcern (MongoDB\Driver\WriteConcern): Write concern. This only
applies when an $out or $merge stage is specified.

Note: Collection-agnostic commands (e.g. $currentOp) may be executed by
specifying null for the collection name.

param: string      $databaseName   Database name
param: string|null $collectionName Collection name
param: array       $pipeline       List of pipeline operations
param: array       $options        Command options

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

return: ArrayIterator|Cursor

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

return: array

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


createCommandOptions()   X-Ref
No description

executeCommand(Server $server, Command $command)   X-Ref
Execute the aggregate command using the appropriate Server method.