Classes internes
PHP Manual

La classe MongoCursor

Introduction

L'objet de résultat d'une requête de base de données.

Un MongoCursor a 2 états différents : Avant et après la requête. Un curseur peut être créé manuellement en appelant le constructeur, mais il est générallement créé en appelant la fonction MongoCollection::find(). Lorsqu'un curseur est créé, il n'a pas encore contacté la base de données, il est dans l'état "avant requête". Dans cet état, le client peut spécifier les paramètres de sa requête, comme les limitations, les exceptions, l'ordre de tri ainsi que d'autres options avancées.

Lorsque le client tente de récupérer un résultat (en appelant la fonction MongoCursor::next(), directement ou indirectement), le curseur passe à l'état "après requête". À ce moment là, les seules fonctions disponibles sont les fonctions Iterator, MongoCursor::hasNext(), et MongoCursor::getNext().

<?php

$cursor 
$collection->find()->limit(10);

// la base n'a pas encore été interrogée,
// il est donc encore temps d'ajouter des options
$cursor $cursor->sort(array("a" => 1));

var_dump($cursor->getNext());
// maintenant, la base a été interrogée, et les options ne sont plus prises en compte

// Cet commnande va produire une exception :
$cursor->skip(4);
?>

Synopsis de la classe

implements Iterator {
/* Champs statiques */
static boolean $slaveOkay = FALSE ;
static integer $timeout = 20000 ;
/* Méthodes */
public MongoCursor addOption ( string $key , mixed $value )
__construct ( resource $connection , string $ns [, array $query = array() [, array $fields = array() ]] )
public int count ([ boolean $foundOnly = FALSE ] )
public array current ( void )
public boolean dead ( void )
protected void doQuery ( void )
public array explain ( void )
public MongoCursor fields ( array $f )
public array getNext ( void )
public boolean hasNext ( void )
public MongoCursor hint ( array $key_pattern )
public MongoCursor immortal ([ boolean $liveForever = true ] )
public array info ( void )
public string key ( void )
public MongoCursor limit ( int $num )
public void next ( void )
public void reset ( void )
public void rewind ( void )
public MongoCursor skip ( int $num )
public MongoCursor slaveOkay ([ boolean $okay = true ] )
public MongoCursor snapshot ( void )
public MongoCursor sort ( array $fields )
public MongoCursor tailable ([ boolean $tail = true ] )
public MongoCursor timeout ( int $ms )
public boolean valid ( void )
}

Variables statiques

MongoCursor::slaveOkay

Est ce que la requête doit avoir le drapeau "slaveOkay" activé, ce qui permet des lectures sur l'esclave (les esclaves sont par défaut déstinés à des sauvegardes et donc inaccessibles en lectures). Peut être surchargé avec MongoCursor::slaveOkay().

MongoCursor::timeout

Affecte le timeout en millisecondes pour les réponses des bases de données. Pour un timeout infini, utilisez -1. Peut être surchargé avec MongoCursor::timeout(). Ceci ne provoque pas une annulation de l'opération par le serveur MongoDB mais fait en sorte que le pilote s'arrête d'attendre une réponse et envoie une MongoCursorTimeoutException.

Voir aussi

Documentation de MongoDB » concernant les curseurs.

Sommaire


Classes internes
PHP Manual