Php/docs/mongocollection.distinct
MongoCollection::distinct
(PECL mongo >=1.2.11)
MongoCollection::distinct — Retrieve a list of distinct values for the given key across a collection
Description
public MongoCollection::distinct
( string $key
[, array $query
] ) : array|false
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
Return Values
Returns an array of distinct values, or FALSE on failure
Examples
Example #1 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)
}
Example #2 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) {
}