(PECL mongo >=1.2.11)
MongoCollection::distinct — 获取集合里指定键的不同值的列表。
$key
, array $query
= ?
) : arraydistinct 命令返回集合里给定键不同值的列表。
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) { }