MongoCollection::distinct

(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) {
}
doc_php
2016-02-24 16:20:36
Comments
Leave a Comment

Please login to continue.