(mongodb >=1.0.0)
MongoDB\Driver\Command::__construct â CrĂ©e une nouvelle commande
$document, ?array $commandOptions = null)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.
documentcommandOptionsNote: Ne pas utiliser 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.
| Option | Type | Description |
|---|---|---|
| maxAwaitTimeMS | int | 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). |
| Version | Description |
|---|---|
| PECL mongodb 1.4.0 |
Ajout d'un deuxiĂšme argument commandOptions, qui
prend en charge l'option "maxAwaitTimeMS".
|
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);
?>Résultat de l'exemple ci-dessus est 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 qu'on crée 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);
?>Résultat de l'exemple ci-dessus est similaire à :