MongoDB\Driver\Command: : _ _construct
(mongodb >=1.0.0)
MongoDB\Driver\Command::__construct — Crée une nouvelle commande
Description
$document
[, array $commandOptions
] )Construit un nouveau MongoDB\Driver\Command, qui est un objet valeur immuable qui représente une commande de base de données. La commande peut alors être exécutée avec MongoDB\Driver\Manager::executeCommand().
Le document de commande complet, qui inclut le nom de la commande et ses
options, doit être exprimé dans le paramètre document
.
Le paramètre commandOptions
est utilisé uniquement
pour spécifier les options liées à l'exécution de la commande et le résultat
MongoDB\Driver\Cursor.
Liste de paramètres
-
document
-
Le document de commande complet, qui sera envoyé au serveur.
-
commandOptions
-
Note: N'utilisez pas ce paramètre pour spécifier les options décrites dans la référence de la commande dans le manuel MongoDB. Ce paramètre ne doit être utilisé que pour les options explicitement énumérées ci-dessous.
commandOptions Option Type Description maxAwaitTimeMS integer Entier positif indiquant la limite de temps en millisecondes pour que le serveur bloque une opération getMore si aucune donnée n'est disponible. Cette option ne doit être utilisée qu'en conjonction avec les commandes qui retournent un curseur à queue (par exemple » Change Streams).
Erreurs / Exceptions
- Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
Historique
Version | Description |
---|---|
1.4.0 |
Ajout d'un deuxième argument |
Exemples
Exemple #1 Exemple avec MongoDB\Driver\Command::__construct()
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(array("buildinfo" => 1));
try {
$cursor = $manager->executeCommand("admin", $command);
$response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
var_dump($response);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
array(13) { ["version"]=> string(14) "2.8.0-rc2-pre-" ["gitVersion"]=> string(62) "b743d7158f7642f4da6b7eac8320374b3b88dc2e modules: subscription" ["OpenSSLVersion"]=> string(25) "OpenSSL 1.0.1f 6 Jan 2014" ["sysInfo"]=> string(104) "Linux infant 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49" ["loaderFlags"]=> string(91) "-fPIC -pthread -Wl,-z,now -rdynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-E" ["compilerFlags"]=> string(301) "-Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -std=c99" ["allocator"]=> string(8) "tcmalloc" ["versionArray"]=> array(4) { [0]=> int(2) [1]=> int(8) [2]=> int(0) [3]=> int(-8) } ["javascriptEngine"]=> string(2) "V8" ["bits"]=> int(64) ["debug"]=> bool(false) ["maxBsonObjectSize"]=> int(16777216) ["ok"]=> float(1) }
Exemple #2 Exemple avec MongoDB\Driver\Command::__construct()
Les commandes peuvent également accepter des options, dans le cadre de la structure normale que vous créez pour envoyer au serveur. Par exemple, l'option maxTimeMS peut être passée avec la plupart des commandes pour restreindre la durée pendant laquelle une commande spécifique peut s'exécuter sur le serveur.
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(
array(
"distinct" => "beer",
"key" => "beer_name",
"maxTimeMS" => 10,
)
);
try {
$cursor = $manager->executeCommand("beerdb", $command);
$response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
var_dump($response);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
operation exceeded time limit
Voir aussi
- MongoDB\Driver\Manager::executeCommand() - Execute a database command
- MongoDB\Driver\Cursor
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb-driver-command.construct.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
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.