(PECL mongo >=1.2.11)
Retrieve a list of distinct values for the given key across a collection.
public array MongoCollection::distinct ( string $key [, array $query ] )
The distinct command returns a list of distinct values for the given key across a collection.
Parameters:
key
The key to use.
query
An optional query parameters
Returns:
Returns an array of distinct values, or FALSE
on failure
Examples:
MongoCollection::distinct() example
<?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); ?>
The above example will output:
array(2) { [0]=> int(10010) [1]=> int(99701) } array(1) { [0]=> int(10010) } array(2) { [0]=> int(10010) [1]=> int(99701) }
MongoCollection::distinct() example on a embedded document
<?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); ?>
The above example will output:
array(2) { [0]=> int(25) [1]=> int(31) } array(0) { }
Please login to continue.