MongoCollection
PHP Manual

MongoCollection::group

(PECL mongo >=0.9.2)

MongoCollection::groupSQL の GROUP BY コマンドと似た処理を行う

説明

public array MongoCollection::group ( array $keys , array $initial , string $reduce [, array $condition = array() ] )

パラメータ

keys

group by したいフィールド。

initial

集約カウンタオブジェクトの初期値。

reduce

オブジェクトを集約する関数。

condition

その行を処理するかどうかを判断する条件。

返り値

結果を含む配列を返します。

例1 MongoCollection::group() の例

<?php

$collection
->save(array("a" => 2));
$collection->save(array("b" => 5));
$collection->save(array("a" => 1));

// すべてのフィールドを使用します
$keys = array();

// 初期値を設定します
$initial = array("count" => 0);

// 実行する JavaScript 関数
$reduce "function (obj, prev) { prev.count++; }";

// "a" フィールドが 1 より大きいドキュメントのみを使用します
$condition = array("a" => array( '$gt' => 1));

$g $collection->group($keys$initial$reduce$condition);

var_dump($g);

?>

上の例の出力は、 たとえば以下のようになります。

array(1) {
  [0]=>
  array(1) {
    ["count"]=>
    int(1)
  }
}

MongoCollection
PHP Manual