Aggregate
in package
implements
Explainable
Operation for the aggregate command.
Tags
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
$databaseName
private
string
$databaseName
$isWrite
private
bool
$isWrite
$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
execute()
Execute the operation.
public
execute(Server $server) : CursorInterface
Parameters
- $server : Server
Tags
Return values
CursorInterfacegetCommandDocument()
Returns the command document for this operation.
public
getCommandDocument() : array<string|int, mixed>
Tags
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>executeCommand()
Execute the aggregate command using the appropriate Server method.
private
executeCommand(Server $server, Command $command) : CursorInterface
Parameters
- $server : Server
- $command : Command