(mongodb >=1.10.0)
MongoDB\Driver\ServerApi::V1Ejemplo #1 Declarar una versión de API en un gestor
<?php
use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;
$v1 = new ServerApi(ServerApi::v1);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);
$command = new MongoDB\Driver\Command(['buildInfo' => 1]);
try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
/* El comando buildInfo devuelve un único documento de resultado, por lo que
* necesitamos acceder al primer resultado en el cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>El ejemplo anterior mostrará:
4.9.0-alpha7-49-gb968ca0
Ejemplo #2 Declarar una versión estricta de API en un gestor
El siguiente ejemplo establece la strict flag, que
indica al servidor que rechace cualquier comando que no forme parte de la
versión de API declarada. Esto genera un error al ejecutar el comando
buildInfo.
<?php
use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;
$v1 = new ServerApi(ServerApi::v1, true);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);
$command = new MongoDB\Driver\Command(['buildInfo' => 1]);
try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
/* El comando buildInfo devuelve un único documento de resultado, por lo que
* necesitamos acceder al primer resultado en el cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>El ejemplo anterior mostrará:
Provided apiStrict:true, but the command buildInfo is not in API Version 1