(PECL mongo >=1.5.0)
Un curseur de commande est similaire à un MongoCursor excepté qu'il est utilisé pour parcourir les résultats d'une commande de base de données au lieu d'une requête normale. Les curseurs de commande sont utiles pour parcourir de larges jeux de résultats qui peuvent dépasser la taille limite d'un document (actuellement de 16MB) d'une seule réponse MongoDB::command().
Malgré le fait que vous pouvez créer des curseurs de commande en utilisant la méthode MongoCommandCursor::__construct() ou la méthode MongoCommandCursor::createFromDocument(), vous devriez plutôt utiliser une commande spécifique comme MongoCollection::aggregateCursor().
Noter que le curseur ne contient pas les résultats de la commande de la base de données ; il ne gère que la consultation du résultat. Aussi, si vous affichez un curseur (i.e. avec une fonction comme var_dump() ou print_r()), vous verrez l'objet curseur, mais vous ne verrez pas les documents résultants.
Un MongoCommandCursor possède 2 "périodes de vie" : pré- et post- commande. Lorsqu'un curseur est créé, il n'a pas encore interrogé la base de données, alors il est dans son état pré-commande. Lorsque le client tente d'abord de récupérer un résultat (en appelant la méthode MongoCommandCursor::rewind(), directement ou indirectement), le curseur se déplace dans un état de post-commande.
La taille du lot et la durée maximale d'attente du socket du curseur de commande peuvent être configurés dans les deux états pre- et post-.
Exemple #1 Ajout d'options à MongoCommandCursor
<?php
$cursor = new MongoCommandCursor(...);
$cursor = $cursor->batchSize( 4 );
foreach ($cursor as $result) {
var_dump($result);
}
?>
$connection
, string $hash
, array $document
) : MongoCommandCursor