(PECL mongo >=0.9.0)
MongoCollection::find — Interroge une collection
Les champs à chercher.
Les champs du résultat à retourner.
Retourne un curseur pour les résultats de recherche.
Exemple #1 Exemple avec MongoCollection::find()
Cet exemple montre comment rechercher un intervalle.
<?php
// recherche les documents dont l'identifiant est entre 5 < x < 20
$rangeQuery = array('x' => array( '$gt' => 5, '$lt' => 20 ));
$cursor = $collection->find($rangeQuery);
?>
Voyez MongoCursor pour plus d'informations sur le fonctionnement des curseurs.
Exemple #2 Exemple pour MongoCollection::find() en utilisant $where
Cet exemple montre comment chercher dans une collection en utilisant du code javascript pour réduire les résultats retournés.
<?php
$collection = $db->my_db->articles;
$js = "function() {
return this.type == 'homepage' || this.featured == true;
}";
$articles = $collection->find(array('$where' => $js));
?>
Exemple #3 Exemple pour MongoCollection::find() utilisant $in
Cet exemple montre comment chercher dans une collection en utilisant l'opérateur $in.
<?php
$collection = $db->my_db->articles;
$articles = $collection->find(array(
'type' => array('$in' => array('homepage', 'editorial'))
));
?>
Exemple #4 Récupération des résultats sous la forme d'un tableau
Cet exemple retourne un objet MongoCursor. Lors des débuts, il peut être plus confortable d'utiliser un tableau. Pour transformer un curseur en un tableau, utilisez la fonction iterator_to_array().
<?php
$cursor = $collection->find();
$array = iterator_to_array($cursor);
?>
L'utilisation de la fonction iterator_to_array() force le driver à charger tous les résultats en mémoire, aussi, évitez d'utiliser cette fonction sur des jeux de résultats qui peuvent être plus grands que la mémoire autorisée !
Documentation de MongoDB » concernant find.