« MongoDB\Driver\ClientEncryption::rewrapManyDataKey
MongoDB\Driver\ServerApi::bsonSerialize »

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

目次

関連キーワード:
MongoDB   Driver   ServerApi   buildInfo   command   manager   cursor   Manager   bsonSerialize   mongodb   final   strict   Serializable   定数   construct   Declare   localhost   serverApi   Command   executeCommand   admin   catch   Exception   getMessage   exit
関連する関数・ページ:
mongodb-driver-serverapi.construct   mongodb-driver-serverapi.bsonserialize   mongodb-driver-command.construct   mongodb-driver-manager.executecommand   class.mongodb-driver-manager   mongodb.mongodb