PHP Class Doctrine\MongoDB\Aggregation\Stage

Since: 1.2
Author: alcaeus ([email protected])
Mostra file Open project: doctrine/mongodb Class Usage Examples

Protected Properties

Property Type Description
$builder Builder

Public Methods

Method Description
__construct ( Builder $builder )
execute ( array $options = [] ) : Doctrine\MongoDB\Iterator Executes the aggregation pipeline
geoNear ( float | array | GeoJson\Geometry\Point $x, float $y = null ) : Doctrine\MongoDB\Aggregation\Stage\GeoNear Outputs documents in order of nearest to farthest from a specified point.
getExpression ( ) : array Assembles the aggregation stage
getPipeline ( ) : array Returns the assembled aggregation pipeline
group ( ) : Group Groups documents by some specified expression and outputs to the next stage a document for each distinct grouping.
indexStats ( ) : Doctrine\MongoDB\Aggregation\Stage\IndexStats Returns statistics regarding the use of each index for the collection.
limit ( integer $limit ) : Doctrine\MongoDB\Aggregation\Stage\Limit Limits the number of documents passed to the next stage in the pipeline.
lookup ( string $from ) : Doctrine\MongoDB\Aggregation\Stage\Lookup Performs a left outer join to an unsharded collection in the same database to filter in documents from the “joined” collection for processing.
match ( ) : Match Filters the documents to pass only the documents that match the specified condition(s) to the next pipeline stage.
out ( string $collection ) : Out Takes the documents returned by the aggregation pipeline and writes them to a specified collection. This must be the last stage in the pipeline.
project ( ) : Project Passes along the documents with only the specified fields to the next stage in the pipeline. The specified fields can be existing fields from the input documents or newly computed fields.
redact ( ) : Doctrine\MongoDB\Aggregation\Stage\Redact Restricts the contents of the documents based on information stored in the documents themselves.
sample ( integer $size ) : Doctrine\MongoDB\Aggregation\Stage\Sample Randomly selects the specified number of documents from its input.
skip ( integer $skip ) : Doctrine\MongoDB\Aggregation\Stage\Skip Skips over the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.
sort ( array | string $fieldName, integer | string $order = null ) : Doctrine\MongoDB\Aggregation\Stage\Sort Sorts all input documents and returns them to the pipeline in sorted order.
unwind ( string $fieldName ) : Doctrine\MongoDB\Aggregation\Stage\Unwind Deconstructs an array field from the input documents to output a document for each element. Each output document is the input document with the value of the array field replaced by the element.

Method Details

__construct() public method

public __construct ( Builder $builder )
$builder Builder

execute() public method

Executes the aggregation pipeline
public execute ( array $options = [] ) : Doctrine\MongoDB\Iterator
$options array
return Doctrine\MongoDB\Iterator

geoNear() public method

You can only use this as the first stage of a pipeline.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/geoNear/
public geoNear ( float | array | GeoJson\Geometry\Point $x, float $y = null ) : Doctrine\MongoDB\Aggregation\Stage\GeoNear
$x float | array | GeoJson\Geometry\Point
$y float
return Doctrine\MongoDB\Aggregation\Stage\GeoNear

getExpression() abstract public method

Assembles the aggregation stage
abstract public getExpression ( ) : array
return array

getPipeline() public method

Returns the assembled aggregation pipeline
public getPipeline ( ) : array
return array

group() public method

Groups documents by some specified expression and outputs to the next stage a document for each distinct grouping.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/group/
public group ( ) : Group
return Doctrine\MongoDB\Aggregation\Stage\Group

indexStats() public method

Returns statistics regarding the use of each index for the collection.
See also: https://docs.mongodb.org/manual/reference/operator/aggregation/indexStats/
public indexStats ( ) : Doctrine\MongoDB\Aggregation\Stage\IndexStats
return Doctrine\MongoDB\Aggregation\Stage\IndexStats

limit() public method

Limits the number of documents passed to the next stage in the pipeline.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/limit/
public limit ( integer $limit ) : Doctrine\MongoDB\Aggregation\Stage\Limit
$limit integer
return Doctrine\MongoDB\Aggregation\Stage\Limit

lookup() public method

Performs a left outer join to an unsharded collection in the same database to filter in documents from the “joined” collection for processing.
See also: https://docs.mongodb.org/manual/reference/operator/aggregation/lookup/
public lookup ( string $from ) : Doctrine\MongoDB\Aggregation\Stage\Lookup
$from string
return Doctrine\MongoDB\Aggregation\Stage\Lookup

match() public method

Filters the documents to pass only the documents that match the specified condition(s) to the next pipeline stage.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/match/
public match ( ) : Match
return Doctrine\MongoDB\Aggregation\Stage\Match

out() public method

Takes the documents returned by the aggregation pipeline and writes them to a specified collection. This must be the last stage in the pipeline.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/out/
public out ( string $collection ) : Out
$collection string
return Doctrine\MongoDB\Aggregation\Stage\Out

project() public method

Passes along the documents with only the specified fields to the next stage in the pipeline. The specified fields can be existing fields from the input documents or newly computed fields.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/project/
public project ( ) : Project
return Doctrine\MongoDB\Aggregation\Stage\Project

redact() public method

Restricts the contents of the documents based on information stored in the documents themselves.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/redact/
public redact ( ) : Doctrine\MongoDB\Aggregation\Stage\Redact
return Doctrine\MongoDB\Aggregation\Stage\Redact

sample() public method

Randomly selects the specified number of documents from its input.
See also: https://docs.mongodb.org/manual/reference/operator/aggregation/sample/
public sample ( integer $size ) : Doctrine\MongoDB\Aggregation\Stage\Sample
$size integer
return Doctrine\MongoDB\Aggregation\Stage\Sample

skip() public method

Skips over the specified number of documents that pass into the stage and passes the remaining documents to the next stage in the pipeline.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/skip/
public skip ( integer $skip ) : Doctrine\MongoDB\Aggregation\Stage\Skip
$skip integer
return Doctrine\MongoDB\Aggregation\Stage\Skip

sort() public method

If sorting by multiple fields, the first argument should be an array of field name (key) and order (value) pairs.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/sort/
public sort ( array | string $fieldName, integer | string $order = null ) : Doctrine\MongoDB\Aggregation\Stage\Sort
$fieldName array | string Field name or array of field/order pairs
$order integer | string Field order (if one field is specified)
return Doctrine\MongoDB\Aggregation\Stage\Sort

unwind() public method

Deconstructs an array field from the input documents to output a document for each element. Each output document is the input document with the value of the array field replaced by the element.
See also: http://docs.mongodb.org/manual/reference/operator/aggregation/unwind/
public unwind ( string $fieldName ) : Doctrine\MongoDB\Aggregation\Stage\Unwind
$fieldName string The field to unwind. It is automatically prefixed with the $ sign
return Doctrine\MongoDB\Aggregation\Stage\Unwind

Property Details

$builder protected_oe property

protected Builder,Doctrine\MongoDB\Aggregation $builder
return Builder