(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.
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.
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 |
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 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);
?>
Résultat de l'exemple ci-dessus est similaire à :