|
MongoCollection::groupSQL の GROUP BY コマンドと似た処理を行う 説明
public array MongoCollection::group
( mixed
$keys
, array $initial
, MongoCode $reduce
[, array $options = array()
] )パラメータ
返り値結果を含む配列を返します。 変更履歴
例例1 MongoCollection::group の例 これは、ドキュメントをカテゴリー別にまとめて カテゴリーごとの名前の一覧を作ります。
<?php 上の例の出力は、 たとえば以下のようになります。 [{"category":"fruit","items":["apple","peach","banana"]},{"category":"veggie","items":["corn","broccoli"]}] 例2 MongoCollection::group の例 この例ではキーを使わないので、すべてのドキュメントがそれ自身のグループに属します。 また、この例では条件を使います。 この条件にマッチするドキュメントのみがグループ関数による処理の対象となります。
<?php 上の例の出力は、 たとえば以下のようになります。 array(4) { ["retval"]=> array(1) { [0]=> array(1) { ["count"]=> float(1) } } ["count"]=> float(1) ["keys"]=> int(1) ["ok"]=> float(1) } 例3 フィールド名以外の何かでグループ化したい場合は、 MongoCollection::group の最初のパラメータに関数を渡すと 各ドキュメントに対してそれを実行します。 関数の返り値を使ってグループ化することができます。 この例は、num フィールドを 4 で割ったあまりでグループ化する方法を示すものです。
<?php |