(mongodb >=1.10.0)
MongoDB\Driver\ServerApi::V1
Versión 1 de la API del servidor.
Ejemplo #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;
}
/* La comando buildInfo devuelve un documento único, por lo que es necesario acceder
* al primer resultado del cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>
El resultado del ejemplo sería:
4.9.0-alpha7-49-gb968ca0
Ejemplo #2 Declarar una versión de API estricta en un gestor
El siguiente ejemplo establece el flag strict
, que
indica al servidor rechazar cualquier comando que no forme parte de la versión
de API declarada. Esto provoca 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 documento único, por lo que es necesario acceder
* al primer resultado del cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>
El resultado del ejemplo sería:
Provided apiStrict:true, but the command buildInfo is not in API Version 1