Вступ
PHP Manual
PHP Manual»MongoDB\Driver»MongoDB\Driver\ServerApi

The MongoDB\Driver\ServerApi class

(mongodb >=1.10.0)

final class MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable, Serializable {
/* Константи */
/* Методи */
final public function bsonSerialize(): stdClass
final public function __construct(string $version, ?bool $strict = null, ?bool $deprecationErrors = null)
}
MongoDB\Driver\ServerApi::V1
Server API version 1.

Приклад #1 Declare an API version on a manager

<?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";

?>

Поданий вище приклад виведе:

4.9.0-alpha7-49-gb968ca0

Приклад #2 Declare 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

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";

?>

Поданий вище приклад виведе:

Provided apiStrict:true, but the command buildInfo is not in API Version 1

Зміст

To Top