The MongoDB\Driver\ServerApi class
Guide
Edit on GitHub ✎
Server API version 1.
Intro
Class synopsis
class MongoDB\Driver\ServerApi { }
Predefined Constants
MongoDB\Driver\ServerApi::V1Server API version 1.
Examples
Declare an API version on a manager
php
<?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;
}
/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>The above example will output:
output
4.9.0-alpha7-49-gb968ca0Declare a strict API version on a manager
The following example sets the strict flag, which tells the server to reject any command that is not part of the declared API version. This results in an error when running the buildInfo command.
php
<?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;
}
/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>The above example will output:
output
Provided apiStrict:true, but the command buildInfo is not in API Version 1Serverapi