PHP 7.4.25 Released!

Класс MongoDB\Driver\ServerApi

(mongodb >=1.10.0)

Введение

Обзор классов

final class MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable, Serializable {
/* Константы */
const string MongoDB\Driver\ServerAPI::V1 = "1";
/* Методы */
final public bsonSerialize(): object
final public __construct(string $version, bool $strict = null, bool $deprecationErrors = null)
final public serialize(): string
final public unserialize(string $serialized): void
}

Предопределённые константы

MongoDB\Driver\ServerApi::V1

Server API версия 1.

Примеры

Пример #1 Пример объявления версии API в диспетчере

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

/* Команда buildInfo возвращает единственный документ результата, поэтому нам нужно получить доступ
 * к первому результату в курсоре. */
$buildInfo $cursor->toArray()[0];

echo 
$buildInfo->version"\n";

?>

Результат выполнения данного примера:

4.9.0-alpha7-49-gb968ca0

Пример #2 Пример объявления строгой версии API для менеджера

В следующем примере устанавливается флаг strict, который сообщает серверу отклонить любую команду, не являющуюся частью объявленной версии API. Это приводит к ошибке при выполнении команды buildInfo.

<?php

use MongoDB\Driver\Manager;
use 
MongoDB\Driver\ServerApi;

$v1 = new ServerApi(ServerApi::v1true);
$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;
}

/* Команда buildInfo возвращает единственный документ результата, поэтому нам нужно получить доступ
 * к первому результату в курсоре. */
$buildInfo $cursor->toArray()[0];

echo 
$buildInfo->version"\n";

?>

Результат выполнения данного примера:

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

Содержание

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top