(PECL mongo >=1.2.11)
MongoCollection::distinct — Retourne une liste de valeurs distinctes d'une collection pour la clé donnée
$key
[, array $query
] ) : arrayLa commande distinct retourne une liste de valeurs distinctes d'une collection pour une clé donnée.
keyLa clé à utiliser.
queryParamètres additionnels de la requête
Retourne un tableau contenant les valeurs distinctes, ou FALSE si une erreur survient
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("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);
?>
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)));
$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) {
}