MongoDB\Driver\Cursor::isDead

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::isDeadVérifie si le curseur est épuisé ou peut avoir des résultats supplémentaires

Description

final public MongoDB\Driver\Cursor::isDead(): bool

Vérifie s'il n'y a plus aucun résultat supplémentaire disponible sur le curseur. Cette méthode est similaire à la méthode » cursor.isExhausted() dans le shell MongoDB et son utilité primaire et lors de l'itération de » curseurs de queue.

Un curseur n'a plus de résultats supplémentaires et est considéré "mort" s'il satisfait l'une des conditions ci-dessous:

  • Le lot actuel a été complètement itéré et l'ID du curseur est zéro (c.à.d. il est impossible de délivrer un » getMore).
  • Une erreur a été rencontrée lors de l'itération du curseur.
  • Le curseur a atteint sa limite configurée.

Par sa conception, il n'est pas toujours possible de déterminer si un curseur a des résultats supplémentaires. Les cas où un curseur peut avoir plus de données disponibles sont les suivants :

  • Il y a des documents supplémentaires dans le lot courant, qui sont tamponnés du côté client. Itérer récupérera un document du tampon local.
  • Il n'y a pas de documents supplémentaires dans le lot courant (c.à.d. tampon local), mais l'ID du curseur est différent de zéro. Itérer sollicitera plus de documents depuis le serveur via une opération » getMore, qui retournera ou pas des résultats supplémentaires et / ou indiquera que le curseur a été fermé sur le serveur en retournant zéro pour son ID.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne true si c'est confirmé qu'aucun résultat supplémentaire n'est disponible sur le curseur, et false sinon.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.

Exemples

Exemple #1 Exemple avec MongoDB\Driver\Cursor::isDead()

<?php

$manager
= new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);

$iterator = new IteratorIterator($cursor);

$iterator->rewind();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

?>

Résultat de l'exemple ci-dessus est similaire à :

bool(false)
bool(false)
bool(false)
bool(true)

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top