La clase MongoDB\Driver\Manager

(mongodb >=1.0.0)

Introducción

La clase MongoDB\Driver\Manager es el punto de entrada principal a la extensión. Es responsable de mantener las conexiones a MongoDB (ya sea un servidor independiente, un conjunto de réplicas o un clúster particionado).

No se realiza ninguna conexión a MongoDB al instanciar el Manager. Esto significa que el MongoDB\Driver\Manager siempre puede ser construido, incluso si uno o más servidores de MongoDB están caídos.

Cualquier escritura o consulta puede lanzar excepciones de conexión ya que las conexiones se crean de forma perezosa. Un servidor de MongoDB también puede volverse no disponible durante la ejecución del script. Por lo tanto, es importante envolver todas las acciones sobre el Manager en sentencias try/catch.

Sinopsis de la Clase

final class MongoDB\Driver\Manager {
/* Métodos */
final public function addSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void
final public function __construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)
final public function executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, ?array $options = null): MongoDB\Driver\WriteResult
final public function executeCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public function executeQuery(string $namespace, MongoDB\Driver\Query $query, ?array $options = null): MongoDB\Driver\Cursor
final public function executeReadCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public function executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public function executeWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public function getEncryptedFieldsMap(): array|object|null
final public function getServers(): array
final public function removeSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void
final public function selectServer(?MongoDB\Driver\ReadPreference $readPreference = null): MongoDB\Driver\Server
final public function startSession(?array $options = null): MongoDB\Driver\Session
}

Ejemplos

Ejemplo #1 Ejemplo básico de MongoDB\Driver\Manager::__construct()

Realizar un var_dump() de un MongoDB\Driver\Manager mostrará varios detalles sobre el gestor que normalmente no están expuestos. Esto puede ser útil para depurar cómo el controlador visualiza su configuración de MongoDB y qué opciones se están utilizando.

<?php

$manager
= new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager);

?>

Resultado del ejemplo anterior es similar a:

object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=>
  string(26) "mongodb://127.0.0.1:27017/"
  ["cluster"]=>
  array(0) {
  }
}

Tabla de contenidos

add a note

User Contributed Notes 1 note

up
8
mike at eastghost dot com
7 years ago
According to Mongo, this (i.e., MongoDB\Driver\Manager) is an "entry point" for the extension:

"This class serves as an entry point for the MongoDB PHP Library. It is the preferred class for connecting to a MongoDB server or cluster of servers and acts as a gateway for accessing individual databases and collections. MongoDB\Client is analogous to the driver’s MongoDB\Driver\Manager class, which it composes."

copied from here: https://docs.mongodb.com/php-library/master/reference/class/MongoDBClient/

However, any comparison of the "mongodb" docs here on php.net versus the "mongodb driver" docs on mongo's site shows dramatic and ever-changing differences.
To Top