The MongoDB\Driver\ServerApi class

(mongodb >=1.10.0)

Introdução

Sinopse da classe

final MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable , Serializable {
/* Constants */
const string MongoDB\Driver\ServerAPI::V1 = "1" ;
/* Métodos */
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
}

Constantes pré-definidas

MongoDB\Driver\ServerApi::V1

Server API version 1.

Exemplos

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

?>

O exemplo acima irá imprimir:

4.9.0-alpha7-49-gb968ca0

Exemplo #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::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;
}

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

?>

O exemplo acima irá imprimir:

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

Índice

add a note add a note

User Contributed Notes

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