Documentation

Aggregate
in package
implements Explainable

FinalYes

Operation for the aggregate command.

Tags
see
Collection::aggregate()
see
https://mongodb.com/docs/manual/reference/command/aggregate/

Table of Contents

Interfaces

Explainable

Properties

$collectionName  : string|null
$databaseName  : string
$isWrite  : bool
$options  : array<string|int, mixed>
$pipeline  : array<string|int, mixed>

Methods

__construct()  : mixed
Constructs an aggregate command.
execute()  : CursorInterface
Execute the operation.
getCommandDocument()  : array<string|int, mixed>
Returns the command document for this operation.
createCommandDocument()  : array<string|int, mixed>
Create the aggregate command document.
createCommandOptions()  : array<string|int, mixed>
executeCommand()  : CursorInterface
Execute the aggregate command using the appropriate Server method.

Properties

$collectionName

private string|null $collectionName

$options

private array<string|int, mixed> $options = []

$pipeline

private array<string|int, mixed> $pipeline

Methods

__construct()

Constructs an aggregate command.

public __construct(string $databaseName, string|null $collectionName, array<string|int, mixed> $pipeline[, array<string|int, mixed> $options = [] ]) : mixed

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.

  • codec (MongoDB\Codec\DocumentCodec): Codec used to decode documents from BSON to PHP objects.

  • 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).

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

Parameters
$databaseName : string

Database name

$collectionName : string|null

Collection name

$pipeline : array<string|int, mixed>

Aggregation pipeline

$options : array<string|int, mixed> = []

Command options

Tags
throws
InvalidArgumentException

for parameter/option parsing errors

execute()

Execute the operation.

public execute(Server $server) : CursorInterface
Parameters
$server : Server
Tags
throws
UnexpectedValueException

if the command response was malformed

throws
UnsupportedException

if read concern or write concern is used and unsupported

throws
RuntimeException

for other driver errors (e.g. connection errors)

Return values
CursorInterface

getCommandDocument()

Returns the command document for this operation.

public getCommandDocument() : array<string|int, mixed>
Tags
see
Explainable::getCommandDocument()
Return values
array<string|int, mixed>

createCommandDocument()

Create the aggregate command document.

private createCommandDocument() : array<string|int, mixed>
Return values
array<string|int, mixed>

createCommandOptions()

private createCommandOptions() : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results