MongoCollection
PHP Manual

MongoCollection::distinct

(PECL mongo >=1.2.11)

MongoCollection::distinctRetourne une liste de valeurs distinctes d'une collection pour la clé donnée

Description

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

La commande distinct retourne une liste de valeurs distinctes d'une collection pour une clé donnée.

Liste de paramètres

key

La clé à utiliser.

query

Paramètres additionnels de la requête

Valeurs de retour

Retourne un tableau contenant les valeurs distinctes, ou FALSE si une erreur survient

Exemples

Exemple #1 Exemple avec 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("safe" => true));

$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);

?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}
array(1) {
  [0]=>
  int(10010)
}
array(2) {
  [0]=>
  int(10010)
  [1]=>
  int(99701)
}

Exemple #2 Exemple avec MongoCollection::distinct() sur un document embarqué

<?php
$c
->insert(array("user" => array("points" => 25)));
$c->insert(array("user" => array("points" => 31)));
$c->insert(array("user" => array("points" => 25)), array("safe" => true));

$retval $c->distinct("user.points");
var_dump($retval);

$retval $c->distinct("user.nonexisting");
var_dump($retval);
?>

L'exemple ci-dessus va afficher :

array(2) {
  [0]=>
  int(25)
  [1]=>
  int(31)
}
array(0) {
}

MongoCollection
PHP Manual