MongoCursor::addOption

(PECL mongo >=1.0.4)

MongoCursor::addOptionAjoute une paire clé/valeur de haut niveau à la requête

Description

public MongoCursor MongoCursor::addOption ( string $key , mixed $value )

Cette méthode est une méthode avancée et ne devrait pas être utiliser sans vraiment savoir ce que vous en faîtes.

Une requête peut optionnellement être imbriquée dans un champ "query" si les autres options, comme un tri ou un indice sont fournies. Actuellement, l'ajout d'un tri fait que la requête devient un sous-champ d'un objet requête plus gros, comme ceci :

<?php

$query = array("query" => $query, "orderby" => $sort);

?>

Cette méthode permet d'ajouter un champ de haut niveau à une requête. Elle rend une requête un sous-objet (si elle ne l'est pas déjà) et ajoute une paire clé/valeur de votre choix en haut niveau.

Avertissement

Elle ne peut être utilisée pour ajouter d'autres critères pour une requête à la volée. Actuellement, ceci ne fonctionne pas :

<?php

// INCORRECT !
$cursor = $users->find()->addOption("name", "joe")->addOption("age", 20);

?>
Ceci ne permet pas de chercher un utilisateur nommé "joe" et dont l'âge vaut 20.

Liste de paramètres

key

Le nom du champ à ajouter.

value

La valeur à ajouter.

Valeurs de retour

Retourne ce curseur.

Erreurs / Exceptions

Lance une exception MongoCursorException si ce curseur a commencé à être parcouru.

Exemples

Exemple #1 Exemple avec MongoCursor::addOption()

<?php

// Assurons-nous que l'index est présent
$c->ensureIndex(array("ts" => 1));

// vous devriez modifier ceci afin que l'exécution s'effectue en un
// temps raisonnable sur des machines lentes (prend environ 30 secondes
// sur une bonne machine)
for ($i = 0; $i < 30000000; $i++) {
	$c->insert(array("ts" => new MongoDate(), "i" => $i));
}

$now = strtotime("now");

// Trouve les documents insérés dans les 2 dernières secondes
$cursor = $c->find()->addOption('$min', array("ts" => $now-2));

?>
LoadingChargement en cours