Vérifie si le curseur est épuisé ou peut avoir des résultats supplémentaires

# MongoDB\Driver\Cursor::isDead

(mongodb >=1.0.0)

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

### Description

final public function 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 est 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

- » Tailable Cursors in the MongoDB manual
- » cursor.isExhausted() in the MongoDB manual

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open