public array MongoCollection::group    ( mixed $keys   , array $initial   , MongoCode $reduce   [, array $options = array()  ] )

MongoCollection::groupPerforms an operation similar to SQL's GROUP BY command


Fields to group by. If an array or non-code object is passed, it will be the key used to group results.

1.0.4+: If keys is an instance of MongoCode, keys will be treated as a function that returns the key to group by (see the "Passing a keys function" example below).


Initial value of the aggregation counter object.


A function that takes two arguments (the current document and the aggregation to this point) and does the aggregation.


Optional parameters to the group command. Valid options include:

  • "condition"

    Criteria for including a document in the aggregation.

  • "finalize"

    Function called once per unique key that takes the final output of the reduce function.

  • "maxTimeMS"

    Указывает суммарный лимит времени в миллисекундах на обработку операции (не включая время простоя) на сервере. Если операция на стороне сервера не завершилась за это время, то вызывается исключение MongoExecutionTimeoutException.