MongoDB\Driver\ServerApi 类

(mongodb >=1.10.0)

介绍

类概要

final class MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable, Serializable {
/* 常量 */
/* 方法 */
final public bsonSerialize(): stdClass
final public __construct(string $version, ?bool $strict = null, ?bool $deprecationErrors = null)
final public serialize(): string
final public unserialize(string $data): void
}

预定义常量

MongoDB\Driver\ServerApi::V1

服务器 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::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;
}

/* buildInfo 命令返回单个结果文档,因此我们需要访问
* 游标中的第一个结果。 */
$buildInfo = $cursor->toArray()[0];

echo
$buildInfo->version, "\n";

?>

上面的示例将输出

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

目录

添加笔记

用户贡献笔记

此页面没有用户贡献的笔记。
To Top