Php/docs/mongocollection.distinct

来自菜鸟教程
跳转至:导航、​搜索

MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinct获取集合里指定键的不同值的列表。


说明

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

distinct 命令返回集合里给定键不同值的列表。


参数

key
要使用的键。
query
一个可选的查询参数


返回值

返回不同值的数组, 或者在失败时返回 false


范例

Example #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)
}

Example #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) {
}