Instead of running while() or foreach() over a Mongo cursor, get all results from cursor into array:
$curs = $Mdb->tbl->find();
$arrOut = iterator_to_array( $curs, false ); // false uses numeric index.
return $arrOut;
Afin de récupérer tous les documents d'une collection, vous devez utiliser la méthode MongoCollection::find(). Cette méthode retourne un objet MongoCursor qui vous permet de parcourir tous les documents correspondant à votre requête. Aussi, pour récupérer tous les documents et les afficher, vous pouvez faire ceci :
<?php
$connection = new MongoClient();
$collection = $connection->database->collectionName;
$cursor = $collection->find();
foreach ( $cursor as $id => $value )
{
echo "$id: ";
var_dump( $value );
}
?>
$id
est le champ _id
du document (sous la forme d'une chaîne de caractères), et $value
est le document lui-même.
La documentation de l'API sur la méthode MongoCollection::find() contient plus d'informations sur la recherche de données.
Instead of running while() or foreach() over a Mongo cursor, get all results from cursor into array:
$curs = $Mdb->tbl->find();
$arrOut = iterator_to_array( $curs, false ); // false uses numeric index.
return $arrOut;