Rechercher une fonction PHP

MongoCursor::batchSize

(PECL mongo >=1.0.11)

MongoCursor::batchSizeLimite le nombre de résultats retourné pour un lot

Description

public MongoCursor::batchSize ( int $batchSize ) : MongoCursor

Un curseur récupère un lot d'objets de résultats et les stocke en local. Cette méthode définit la valeur batchSize permettant de configurer la quantité de documents à récupérer en un passage, depuis le serveur. Cependant, la quantité de documents retournée ne pourra jamais être supérieure à la limite maximale (habituellement 4 Mo).

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

batchSize

Le nombre de résultats à retourner pour un lot. Chaque lot nécessite un aller-retour avec le serveur.

Si batchSize vaut 2 ou plus, il représentera la taille de chaque lot d'objets récupérés. Il peut être ajuster pour optimiser les performances et limiter les données transférées.

Si batchSize vaut 1 ou une valeur négative, cela va limiter le nombre de documents retournés à la valeur absolue de batchSize, et le curseur sera fermé. Par exemple, si batchSize vaut -10, alors le serveur retournera un maximum de 10 documents (si ces documents tiennent dans 4Mo), puis le curseur sera fermé.

Avertissement

Le fait de définir batchSize à 1 est spécial, et signifie la même chose que de le définir à -1, i.e. une valeur de 1 rend le curseur capable de ne retourner d'un seul document.

Notez que cette fonctionalité est différente de la méthode MongoCursor::limit() car les documents doivent tenir dans une taille maximale, et elle supprime la nécessité d'envoyer une requête pour fermer le curseur côté serveur. La taille du lot peut être changée après l'itération d'un curseur, au quel cas la configuration sera appliquée lorsque le prochain lot sera récupéré.

Cette méthode ne peut pas écraser la limite MongoDB de la quantité de données à retourner au client (i.e., si vous définissez la taille du lot à 1.000.000.000, MongoDB continuera de retourner uniquement 4-16Mo de résultats par lot).

Afin d'assurer un comportement consistent, les règles de MongoCursor::batchSize() et MongoCursor::limit() sont assez complexes mais fonctionnent "comme attendues". Les règles sont : les limites dures écrasent les limites légères avec une préférence donnée à la méthode MongoCursor::limit() sur la méthode MongoCursor::batchSize(). Après cela, tout ce qui est défini et est inférieure à ce qui précède prendra le dessus ; voir ci-dessous pour plus d'exemples.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne ce curseur.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec MongoCursor::batchSize() et des combinaisons avec la fonction MongoCursor::limit()

<?php

// un lot, au maximum de 10 éléments. Le -10 fera que le serveur retournera 10 éléments,
// puis, fermera le curseur.
$cursor->limit(20)->batchSize(-10);

// premier lot : un maximum de 10 éléments
$cursor->limit(10);

// premier lot : un maximum de 10 éléments
$cursor->limit(10)->batchSize(20);

// Les résultats sont récupérés en lot de 10 éléments, avec un maximum de 20 éléments
// retournés (cela signifie deux lots de 10).
$cursor->limit(20)->batchSize(10);

// Les résultats sont récupérés en lot de 7 éléments, avec un maximum de 30 éléments
// retournés (cela signifie que le driver demandera 4 lots de 7 éléments, et un lot
// de 2).
$cursor->limit(30)->batchSize(7)
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

La documentation coeur de MongoDB sur la fonction » batchSize.

Retour à la première page de Manuel PHP  Table des matières Haut

Historique

Version Description
1.4.5

Avant la version 1.4.5, cette méthode lançait une exception de type MongoCursorException si le curseur avait déjà commencé son itération.

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongocursor.batchsize.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut