MongoCollection::validate
MongoCursor::addOption
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

MongoCursor
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 `$all` = `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 array info ( void )
public boolean hasNext ( void )
public MongoCursor hint ( array `$key_pattern` )
public MongoCursor immortal ([ boolean `$liveForever` = true ] )
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

- MongoCursor::addOption — Ajoute une paire clé/valeur de haut niveau à la requête
- MongoCursor::__construct — Crée un nouveau curseur
- MongoCursor::count — Compte le nombre de résultats pour cette requête
- MongoCursor::current — Retourne l'élément courant
- MongoCursor::dead — Vérifie s'il reste des documents non envoyés à la base de données pour ce curseur
- MongoCursor::doQuery — Exécute la requête Mongo
- MongoCursor::explain — Retourne une explication de la requête, souvent utile pour le déboguage et l'optimisation
- MongoCursor::fields — Définit les champs d'une requête
- MongoCursor::getNext — Retourne le prochain objet et avance le curseur
- MongoCursor::info — Récupère la requête, les champs, les limitations et les évitements pour ce curseur
- MongoCursor::hasNext — Vérifie s'il y a encore des éléments pour ce curseur
- MongoCursor::hint — Donne des indications à la base de données pour la requête
- MongoCursor::immortal — Définit si le curseur doit s'interrompre après un certain délai
- MongoCursor::key — Retourne l'identifiant du résultat courant
- MongoCursor::limit — Limite le nombre de résultats retournés
- MongoCursor::next — Avance le curseur au prochain résultat
- MongoCursor::reset — Efface le curseur
- MongoCursor::rewind — Retourne le curseur au début du jeu de résultats
- MongoCursor::skip — Omet les premiers résultats
- MongoCursor::slaveOkay — Définit si la requête peut être effectuée sur un serveur esclave
- MongoCursor::snapshot — Utilise le mode de capture pour la requête
- MongoCursor::sort — Trie les résultats par ordre de champs
- MongoCursor::tailable — Définit si le curseur doit être conservé ouvert après la récupération du dernier résultat
- MongoCursor::timeout — Définit un délai maximum d'attente côté client pour cette requête
- MongoCursor::valid — Vérifie si le curseur lit un résultat valide

MongoCollection::validate
MongoCursor::addOption
Classes internes
PHP Manual