MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection
PHP Manual

# MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinct — コレクション内で、指定したキーに対応する区別できる値の一覧を取得する

### 説明

public array MongoCollection::distinct ( string `$key` [, array `$query` ] )

distinct コマンドは、指定したキーに対応する区別できる値の一覧を返します。

### パラメータ

`key`

  使うキー。

`query`

  オプションのクエリパラメータ。

### 返り値

区別できる値の配列を返します。失敗した場合に `FALSE` を返します

### 例

例1 MongoCollection::distinct() の例

`<?php
$m = new Mongo;
$db = $m->selectDB("test");
$db->dropCollection("distinct");
$c = $db->distinct;
$c->insert(array("stuff" => "bar", "zip-code" => 10010));
$c->insert(array("stuff" => "foo", "zip-code" => 10010));
$c->insert(array("stuff" => "bar", "zip-code" => 99701), array("w" => 1));
$retval = $c->distinct("zip-code");
var_dump($retval);
$retval = $c->distinct("zip-code", array("stuff" => "foo"));
var_dump($retval);
$retval = $c->distinct("zip-code", array("stuff" => "bar"));
var_dump($retval);
?>`

上の例の出力は以下となります。

    array(2) {
      [0]=>
      int(10010)
      [1]=>
      int(99701)
    }
    array(1) {
      [0]=>
      int(10010)
    }
    array(2) {
      [0]=>
      int(10010)
      [1]=>
      int(99701)
    }

例2 埋め込みドキュメントでの MongoCollection::distinct() の例

`<?php
$c->insert(array("user" => array("points" => 25)));
$c->insert(array("user" => array("points" => 31)));
$c->insert(array("user" => array("points" => 25)));
$retval = $c->distinct("user.points");
var_dump($retval);
$retval = $c->distinct("user.nonexisting");
var_dump($retval);
?>`

上の例の出力は以下となります。

    array(2) {
      [0]=>
      int(25)
      [1]=>
      int(31)
    }
    array(0) {
    }

MongoCollection::deleteIndexes
MongoCollection::drop
MongoCollection
PHP Manual