<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.mongodb-driver-manager.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'mongodb-driver-manager.construct.php',
    1 => 'MongoDB\\Driver\\Manager::__construct',
    2 => 'Crea un nuevo Manager MongoDB',
  ),
  'up' => 
  array (
    0 => 'class.mongodb-driver-manager.php',
    1 => 'MongoDB\\Driver\\Manager',
  ),
  'prev' => 
  array (
    0 => 'mongodb-driver-manager.addsubscriber.php',
    1 => 'MongoDB\\Driver\\Manager::addSubscriber',
  ),
  'next' => 
  array (
    0 => 'mongodb-driver-manager.createclientencryption.php',
    1 => 'MongoDB\\Driver\\Manager::createClientEncryption',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/mongodb/mongodb/driver/manager/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mongodb-driver-manager.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">MongoDB\Driver\Manager::__construct</h1>
  <p class="verinfo">(mongodb &gt;=1.0.0)</p><p class="refpurpose"><span class="refname">MongoDB\Driver\Manager::__construct</span> &mdash; <span class="dc-title">Crea un nuevo Manager MongoDB</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-mongodb-driver-manager.construct-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><strong>MongoDB\Driver\Manager::__construct</strong></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span> <code class="parameter">$uri</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$uriOptions</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span> <code class="parameter">$driverOptions</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>)</div>

  <p class="para rdfs-comment">
   Construye un nuevo objeto <span class="classname"><a href="class.mongodb-driver-manager.php" class="classname">MongoDB\Driver\Manager</a></span> con las opciones especificadas.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Con la <a href="https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.md#single-threaded-client-construction" class="link external">&raquo;&nbsp;Especificación de descubrimiento y supervisión del servidor</a>,
    este constructor no realiza E/S. Las conexiones se inicializarán bajo demanda,
    durante la ejecución de la primera operación.
   </span>
  </p></blockquote>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Cuando se especifican opciones de URI SSL o TLS a través de la cadena de conexión o el
    parámetro <code class="parameter">uriOptions</code>, la extensión activará implícitamente TLS para sus conexiones.
    Para evitar esto, desactive explícitamente la opción
    <code class="literal">tls</code> o no especifique ninguna opción TLS.
   </span>
  </p></blockquote>
  
 <blockquote class="note"><p><strong class="note">Nota</strong>: 
 <span class="simpara">
 En las plataformas Unix, la extensión MongoDB es sensible a los scripts que utilizan
 la llamada al sistema fork() sin llamar a exec(). No se deben reutilizar
 instancias <span class="classname"><a href="class.mongodb-driver-manager.php" class="classname">MongoDB\Driver\Manager</a></span> en un proceso
 hijo derivado de un fork.
 </span>
 </p></blockquote>
 
 </div>


 <div class="refsect1 parameters" id="refsect1-mongodb-driver-manager.construct-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt id="mongodb-driver-manager.construct-uri"><code class="parameter">uri</code></dt>
    <dd>
     <p class="para">
      Una URI de conexión <a href="https://www.mongodb.com/docs/manual/reference/connection-string/" class="link external">&raquo;&nbsp;mongodb://</a>:
      <div class="example-contents">
<div class="txtcode"><pre class="txtcode">mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[defaultAuthDb][?options]]</pre>
</div>
      </div>

     </p>
     <p class="para">
      Para los detalles sobre las opciones de URI admitidas, ver
      <a href="https://www.mongodb.com/docs/manual/reference/connection-string/#connections-connection-options" class="link external">&raquo;&nbsp;Opciones de cadena de conexión</a>
      en el manual MongoDB.
      <a href="https://www.mongodb.com/docs/manual/reference/connection-string/#connection-pool-options" class="link external">&raquo;&nbsp;Opciones de pool de conexiones</a>
      no son admitidas, ya que la extensión no implementa pools de conexiones.
     </p>
     <p class="para">
      Por omisión, <code class="literal">&quot;mongodb://127.0.0.1:27017&quot;</code> si no se especifica.
     </p>
     <p class="para">
      El <code class="parameter">uri</code> es una URL, por lo que todos los caracteres especiales en
      sus componentes deben estar codificados en URL según la
      <a href="https://datatracker.ietf.org/doc/html/rfc3986" class="link external">&raquo;&nbsp;RFC 3986</a>. Esto es particularmente
      relevante para el nombre de usuario y la contraseña, que pueden incluir caracteres especiales tales como
      <code class="literal">@</code>, <code class="literal">:</code> o <code class="literal">%</code>.
      Al conectarse a través de un socket de dominio Unix, la ruta del socket
      puede contener caracteres especiales como barras diagonales y debe estar codificada.
      La función <span class="function"><a href="function.rawurlencode.php" class="function">rawurlencode()</a></span> puede ser utilizada para codificar
      las partes constitutivas de la URI.
     </p>
     <p class="para">
      El componente <code class="literal">defaultAuthDb</code> puede ser utilizado para especificar la
      base de datos asociada a las credenciales del usuario; sin embargo, la opción de URI
      <code class="literal">authSource</code> tendrá prioridad si se especifica.
      Si ni <code class="literal">defaultAuthDb</code> ni <code class="literal">authSource</code> se especifican, la base de datos
      <code class="literal">admin</code> será utilizada por omisión. El componente <code class="literal">defaultAuthDb</code>
      no tiene ningún efecto en ausencia de credenciales de usuario.
     </p>
    </dd>
   
   
    <dt id="mongodb-driver-manager.construct-urioptions"><code class="parameter">uriOptions</code></dt>
    <dd>
     <p class="para">
      Opciones adicionales
      <a href="https://www.mongodb.com/docs/manual/reference/connection-string/#connections-connection-options" class="link external">&raquo;&nbsp;de cadena de conexión</a>,
      que sobrescribirán cualquier opción con el mismo nombre en el parámetro
      <code class="parameter">uri</code>.
     </p>
     <p class="para">
      <table class="doctable table">
       <caption><strong>uriOptions</strong></caption>
       
        <thead>
         <tr>
          <th>Opción</th>
          <th>Tipo</th>
          <th>Descripción</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td>appname</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            MongoDB 3.4+ tiene la capacidad de anotar las conexiones con metadatos
            proporcionados por el cliente conectado. Estos metadatos se incluyen en los
            registros del servidor al establecer una conexión y también se registran en
            los registros de consultas lentas cuando el perfilado de la base de datos está activado.
           </p>
           <p class="para">
            Esta opción puede ser utilizada para especificar un nombre de aplicación, que será
            incluido en los metadatos. El valor no puede exceder 128 caracteres de longitud.
           </p>
          </td>
         </tr>

         <tr>
          <td>authMechanism</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            El mecanismo de autenticación que MongoDB utilizará para autenticar
            la conexión. Para más detalles y una lista de los valores admitidos, ver
            <a href="https://www.mongodb.com/docs/manual/reference/connection-string/#urioption.authMechanism" class="link external">&raquo;&nbsp;Opciones de autenticación</a>
            en el manual MongoDB.
           </p>
          </td>
         </tr>

         <tr>
          <td>authMechanismProperties</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            Las propiedades específicas del mecanismo de autenticación seleccionado. Para más
            detalles y una lista de las propiedades admitidas, ver la
            <a href="https://github.com/mongodb/specifications/blob/master/source/auth/auth.rst#auth-related-options" class="link external">&raquo;&nbsp;Especificación de autenticación del controlador</a>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Cuando no se especifica en la cadena de URI, esta opción se expresa como
             un array de pares clave/valor. Las claves y valores de este array
             deben ser strings.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>authSource</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            El nombre de la base de datos asociada a las credenciales del usuario. Por omisión
            al componente de la base de datos de la URI de conexión, o a la base de datos
            <code class="literal">admin</code> si ambos no se especifican.
           </p>
           <p class="para">
            Para los mecanismos de autenticación que no admiten la noción de base de datos
            (por ejemplo, GSSAPI), esto debería ser
            <code class="literal">&quot;$external&quot;</code>.
           </p>
          </td>
         </tr>

         <tr>
          <td>compressors</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            Una lista priorizada y delimitada por comas de compresores que el cliente
            desea utilizar. Los mensajes solo se comprimen si el cliente y el servidor
            comparten compresores en común, y el compresor utilizado en cada
            dirección dependerá de la configuración individual del servidor
            o del controlador. Ver la
            <a href="https://github.com/mongodb/specifications/blob/master/source/compression/OP_COMPRESSED.rst#compressors" class="link external">&raquo;&nbsp;Especificación de compresión del controlador</a>
            para más información.
           </p>
          </td>
         </tr>

         <tr id="mongodb-driver-manager.construct-urioptions.connecttimeoutms">
          <td>connectTimeoutMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            El tiempo en milisegundos para intentar una conexión antes de expirar.
            Por omisión, 10 000 milisegundos.
           </p>
          </td>
         </tr>

         <tr>
          <td>directConnection</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Esta opción puede ser utilizada para controlar el comportamiento de descubrimiento del conjunto de réplicas
            cuando solo se proporciona un host en la cadena de conexión.
            Por omisión, proporcionar un solo miembro en la cadena de conexión
            establecerá una conexión directa o descubrirá miembros adicionales
            según si la opción de URI <code class="literal">&quot;replicaSet&quot;</code> está omitida o presente,
            respectivamente. Especifique <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> para forzar el descubrimiento a que ocurra
            (si <code class="literal">&quot;replicaSet&quot;</code> está omitido)
            o especifique <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> para forzar una conexión directa (si
            <code class="literal">&quot;replicaSet&quot;</code> está presente).
           </p>
          </td>
         </tr>

         <tr>
          <td>heartbeatFrequencyMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            Especifica el intervalo en milisegundos entre las verificaciones de la topología MongoDB,
            contado desde el final de la verificación previa hasta el inicio de la siguiente.
            Por omisión, 60 000 milisegundos.
           </p>
           <p class="para">
            Para la
            <a href="https://github.com/mongodb/specifications/blob/master/source/server-discovery-and-monitoring/server-discovery-and-monitoring.md#heartbeatfrequencyms" class="link external">&raquo;&nbsp;Especificación de descubrimiento y supervisión del servidor</a>,
            este valor no puede ser inferior a 500 milisegundos.
           </p>
          </td>
         </tr>

         <tr>
          <td>journal</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="parameter">journal</code> del write concern por omisión.
            Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, las escrituras requerirán un acuse de recibo de MongoDB indicando que la operación ha sido
            escrita en el diario. Para más detalles, ver
            <span class="classname"><a href="class.mongodb-driver-writeconcern.php" class="classname">MongoDB\Driver\WriteConcern</a></span>.
           </p>
          </td>
         </tr>

         <tr>
          <td>loadBalanced</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Especifica si el controlador se conecta a un clúster MongoDB a través
            de un equilibrador de carga. Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, el controlador solo puede conectarse a
            un solo host (especificado por la cadena de conexión o la búsqueda SRV),
            la opción de URI <code class="literal">&quot;directConnection&quot;</code> no puede
            ser <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, y la opción de URI <code class="literal">&quot;replicaSet&quot;</code>
            debe ser omitida. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>localThresholdMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            El tamaño en milisegundos de la ventana de latencia para la selección entre
            múltiples instancias MongoDB apropiadas al resolver una preferencia de lectura.
            Por omisión, 15 milisegundos.
           </p>
          </td>
         </tr>

         <tr>
          <td>maxStalenessSeconds</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="literal">maxStalenessSeconds</code> de la preferencia de lectura.
            Especifica, en segundos, la duración máxima de validez de una instancia secundaria antes de que el cliente deje de usarla para las
            operaciones de lectura. Por omisión, no hay una duración máxima de validez y
            los clientes no tendrán en cuenta el retraso de una instancia secundaria al elegir la dirección de una operación de lectura. Para más detalles, ver
            <span class="classname"><a href="class.mongodb-driver-readpreference.php" class="classname">MongoDB\Driver\ReadPreference</a></span>.
           </p>
           <p class="para">
            Si se especifica, la duración máxima de validez debe ser un entero de 32 bits firmado
            superior o igual a
            <strong><code><a href="class.mongodb-driver-readpreference.php#mongodb-driver-readpreference.constants.smallest-max-staleness-seconds">MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS</a></code></strong>
            (por ejemplo, 90 segundos).
           </p>
          </td>
         </tr>

         <tr>
          <td>password</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           La contraseña del usuario en proceso de autenticación. Esta opción es útil
           si la contraseña contiene caracteres especiales, que de otro modo
           deberían estar codificados en URL para la URI de conexión.
          </td>
         </tr>

         <tr>
          <td>readConcernLevel</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           Corresponde a la opción <code class="parameter">level</code> de la preferencia de lectura.
           Especifica el nivel de aislamiento de lectura. Para más detalles, ver
           <span class="classname"><a href="class.mongodb-driver-readconcern.php" class="classname">MongoDB\Driver\ReadConcern</a></span>.
          </td>
         </tr>

         <tr>
          <td>readPreference</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="parameter">mode</code> de la preferencia de lectura.
            Por omisión, <code class="literal">&quot;primary&quot;</code>. Para más detalles, ver
            <span class="classname"><a href="class.mongodb-driver-readpreference.php" class="classname">MongoDB\Driver\ReadPreference</a></span>.
           </p>
          </td>
         </tr>

         <tr>
          <td>readPreferenceTags</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="parameter">tagSets</code> de la preferencia de lectura.
            Los conjuntos de etiquetas permiten dirigir las operaciones de lectura a
            miembros específicos de un conjunto de réplicas. Para más detalles,
            ver <span class="classname"><a href="class.mongodb-driver-readpreference.php" class="classname">MongoDB\Driver\ReadPreference</a></span>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Cuando no se especifica en la cadena de URI, esta opción se expresa como
             un array conforme al formato esperado por
             <span class="function"><a href="mongodb-driver-readpreference.construct.php" class="function">MongoDB\Driver\ReadPreference::__construct()</a></span>.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>replicaSet</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            Especifica el nombre del conjunto de réplicas.
           </p>
          </td>
         </tr>

         <tr>
          <td>retryReads</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Especifica si el controlador debe reintentar automáticamente
            ciertas operaciones de lectura que fallan debido a errores de red transitorios
            o elecciones de conjunto de réplicas. Esta funcionalidad requiere MongoDB 3.6+. Por omisión, <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
           </p>
           <p class="para">
            Ver la
            <a href="https://github.com/mongodb/specifications/blob/master/source/retryable-reads/retryable-reads.rst" class="link external">&raquo;&nbsp;Especificación de lectura reintentable</a>
            para más información.
           </p>
          </td>
         </tr>

         <tr>
          <td>retryWrites</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Especifica si el controlador debe reintentar automáticamente
            ciertas operaciones de escritura que fallan debido a errores de red transitorios
            o elecciones de conjunto de réplicas. Esta funcionalidad requiere MongoDB 3.6+. Por omisión, <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
           </p>
           <p class="para">
            Ver
            <a href="https://www.mongodb.com/docs/manual/core/retryable-writes/" class="link external">&raquo;&nbsp;Escrituras reintentables</a>
            en el manual MongoDB para más información.
           </p>
          </td>
         </tr>

         <tr id="mongodb-driver-manager.construct-urioptions.serverselectiontimeoutms">
          <td>serverSelectionTimeoutMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            Especifica cuánto tiempo en milisegundos bloquear para la selección del servidor
            antes de lanzar una excepción. Por omisión, 30 000 milisegundos.
           </p>
          </td>
         </tr>

         <tr>
          <td>serverSelectionTryOnce</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Cuando <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, indica al controlador que escanee el despliegue MongoDB
            exactamente una vez después de un fallo de selección del servidor, luego seleccione
            un servidor o lance una excepción. Cuando <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, el controlador bloquea y
            busca un servidor hasta el valor de
            <code class="literal">&quot;serverSelectionTimeoutMS&quot;</code>. Por omisión, <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>socketCheckIntervalMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            Si un socket no ha sido utilizado recientemente, el controlador debe verificarlo a través
            de un comando <code class="literal">hello</code> antes de usarlo para cualquier
            operación. Por omisión, 5 000 milisegundos.
           </p>
          </td>
         </tr>

         <tr>
          <td>socketTimeoutMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            El tiempo en milisegundos para intentar un envío o recepción en un socket
            antes de expirar. Por omisión, 300 000 milisegundos (es decir, cinco
            minutos).
           </p>
          </td>
         </tr>

         <tr>
          <td>srvMaxHosts</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            El número máximo de resultados SRV a seleccionar aleatoriamente durante la
            primera población de la lista de semillas o, durante la consulta SRV, la adición de nuevos hosts a
            la topología. Por omisión, <code class="literal">0</code> (es decir, sin máximo).
           </p>
          </td>
         </tr>

         <tr>
          <td>srvServiceName</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            El nombre de servicio a utilizar para la búsqueda SRV en la lista de semillas inicial
            y la consulta SRV. Por omisión, <code class="literal">&quot;mongodb&quot;</code>.
           </p>
          </td>
         </tr>

         <tr>
          <td>tls</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Inicializa la conexión con TLS/SSL si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsAllowInvalidCertificates</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Especifica si el controlador debe generar un error cuando el certificado
            TLS del servidor es inválido. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
           <div class="warning"><strong class="warning">Advertencia</strong>
            <p class="simpara">
             Desactivar la validación del certificado crea una vulnerabilidad.
            </p>
           </div>
          </td>
         </tr>

         <tr>
          <td>tlsAllowInvalidHostnames</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Especifica si el controlador debe generar un error cuando hay un
            desacuerdo entre el nombre de host del servidor y el nombre de host especificado por
            el certificado TLS. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
           <div class="warning"><strong class="warning">Advertencia</strong>
            <p class="simpara">
             Desactivar la validación del certificado crea una vulnerabilidad. Permitir
             nombres de host inválidos puede exponer al controlador a una
             <a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack" class="link external">&raquo;&nbsp;ataque del hombre del medio</a>.
            </p>
           </div>
          </td>
         </tr>

         <tr>
          <td>tlsCAFile</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            La ruta del archivo que contiene un solo certificado o un conjunto de certificados
            de autoridades a considerar confiables al establecer una conexión TLS.
            Se utilizará el almacén de certificados del sistema por omisión.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsCertificateKeyFile</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            La ruta del archivo de certificado del cliente o del archivo de clave privada del cliente;
            en el caso de que ambos sean necesarios, los archivos deben estar
            concatenados.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsCertificateKeyFilePassword</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            La contraseña para descifrar la clave privada del cliente (es decir,
            la opción de URI <code class="literal">&quot;tlsCertificateKeyFile&quot;</code>) a utilizar
            para las conexiones TLS.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsDisableCertificateRevocationCheck</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, el controlador no intentará verificar el estado de revocación del certificado
            (por ejemplo, OCSP, CRL). Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsDisableOCSPEndpointCheck</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, el controlador no intentará contactar un punto de extremo de responso OCSP
            si es necesario (es decir, una respuesta OCSP no está grapada). Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>tlsInsecure</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Relaja las restricciones TLS tanto como sea posible. Especificar <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> para
            que esta opción tenga el mismo efecto que especificar <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> para las
            opciones de URI <code class="literal">&quot;tlsAllowInvalidCertificates&quot;</code> y
            <code class="literal">&quot;tlsAllowInvalidHostnames&quot;</code>. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
           <div class="warning"><strong class="warning">Advertencia</strong>
            <p class="simpara">
             Desactivar la validación del certificado crea una vulnerabilidad. Permitir
             nombres de host inválidos puede exponer al controlador a una
             <a href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack" class="link external">&raquo;&nbsp;ataque del hombre del medio</a>.
            </p>
           </div>
          </td>
         </tr>

         <tr>
          <td>username</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           El nombre de usuario del usuario en proceso de autenticación. Esta opción es útil
           si el nombre de usuario contiene caracteres especiales, que de otro modo
           deberían estar codificados en URL para la URI de conexión.
          </td>
         </tr>

         <tr>
          <td>w</td>
          <td><span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="parameter">w</code> del write concern por omisión.
            Para más detalles, ver
            <span class="classname"><a href="class.mongodb-driver-writeconcern.php" class="classname">MongoDB\Driver\WriteConcern</a></span>.
           </p>
          </td>
         </tr>

         <tr>
          <td>wTimeoutMS</td>
          <td><span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span></span></td>
          <td>
           <p class="para">
            Corresponde a la opción <code class="parameter">wtimeout</code> del write concern
            por omisión. Especifica un límite de tiempo,
            en milisegundos, para el write concern. Para más detalles, ver
            <span class="classname"><a href="class.mongodb-driver-writeconcern.php" class="classname">MongoDB\Driver\WriteConcern</a></span>.
           </p>
           <p class="para">
            Si se especifica, <code class="literal">wTimeoutMS</code> debe ser un entero de 32 bits firmado
            superior o igual a cero.
           </p>
          </td>
         </tr>

         <tr>
          <td>zlibCompressionLevel</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <p class="para">
            Especifica el nivel de compresión a utilizar para el compresor zlib. Esta
            opción no tiene ningún efecto si <code class="literal">zlib</code> no está incluido en
            la opción de URI <code class="literal">&quot;compressors&quot;</code>. Ver la
            <a href="https://github.com/mongodb/specifications/blob/master/source/compression/OP_COMPRESSED.rst#zlibcompressionlevel" class="link external">&raquo;&nbsp;Especificación de compresión del controlador</a>
            para más información.
           </p>
          </td>
         </tr>

        </tbody>
       
      </table>

     </p>
    </dd>
   
   
    <dt id="mongodb-driver-manager.construct-driveroptions"><code class="parameter">driverOptions</code></dt>
    <dd>
     <p class="para">
      <table class="doctable table">
       <caption><strong>driverOptions</strong></caption>
       
        <thead>
         <tr>
          <th>Opción</th>
          <th>Tipo</th>
          <th>Descripción</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td>autoEncryption</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            Proporciona opciones para activar el cifrado automático a nivel de campo.
            La lista de opciones se describe en la
            <a href="mongodb-driver-manager.construct.php#mongodb-driver-manager.construct-autoencryption" class="link">tabla de abajo</a>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <p class="para">
             El cifrado automático es una funcionalidad empresarial
             que solo se aplica a las operaciones sobre una colección. El cifrado automático no es
             admitido para las operaciones sobre una base de datos o una vista, y las operaciones que no
             son sorteadas resultarán en un error (ver
             <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#libmongocrypt-auto-encryption-allow-list" class="link external">&raquo;&nbsp;libmongocrypt: La lista de autorización de cifrado automático</a>). Para sortear el cifrado automático
             para todas las operaciones, establezca <code class="literal">bypassAutoEncryption</code> a
             <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
            </p>
            <p class="para">
             El cifrado automático requiere que el usuario autenticado tenga el
             privilegio de acción
             <a href="https://www.mongodb.com/docs/manual/reference/command/listCollections/#required-access" class="link external">&raquo;&nbsp;listCollections</a>.
            </p>
            <p class="para">
             El cifrado explícito y automático es una funcionalidad de la comunidad.
             El controlador siempre puede descifrar automáticamente cuando
             <code class="literal">bypassAutoEncryption</code> es <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>.
            </p>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>ca_dir</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>
           <p class="para">
            La ruta del directorio de certificados correctamente hashados. Se utilizará el almacén de certificados del sistema
            por omisión.
           </p>
          </td>
         </tr>

         <tr>
          <td>crl_file</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>La ruta del archivo de lista de revocación de certificados.</td>
         </tr>

         <tr>
          <td>disableClientPersistence</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, este Manager utilizará un nuevo cliente libmongoc, que no será
            persistido ni compartido con otros objetos Manager. Cuando este
            objeto Manager es liberado, su cliente será destruido y todas
            las conexiones serán cerradas. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Desactivar la persistencia del cliente no es generalmente recomendado.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>driver</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            Permite a un nivel superior de biblioteca añadir sus propias metadatos
            al apretón de manos del servidor. Por omisión, la extensión envía su propio nombre,
            versión y plataforma (es decir, versión PHP) en el apretón de manos. Las cadenas
            pueden ser especificadas para las claves <code class="literal">&quot;name&quot;</code>,
            <code class="literal">&quot;version&quot;</code> y <code class="literal">&quot;platform&quot;</code> de este array, y serán
            añadidas al campo respectivo(s)
            del apretón de manos del servidor.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Las informaciones del apretón de manos están limitadas a 512 bytes. La extensión
             truncará los datos del apretón de manos para adaptarse a esta cadena de 512 bytes. Las
             bibliotecas de nivel superior están animadas a mantener sus propias metadatos concisas.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>serverApi</td>
          <td><span class="classname"><a href="class.mongodb-driver-serverapi.php" class="classname">MongoDB\Driver\ServerApi</a></span></td>
          <td>
           <p class="para">
            Esta opción se utiliza para declarar una versión de API de servidor para el Manager.
            Si se omite, no se declara ninguna versión de API.
           </p>
          </td>
         </tr>

        </tbody>
       
      </table>

     </p>
     <p class="para" id="mongodb-driver-manager.construct-autoencryption">
      Las siguientes opciones son admitidas:

      <table class="doctable table">
       <caption><strong>Opciones para el cifrado automático</strong></caption>
       
        <thead>
         <tr>
          <th>Opción</th>
          <th>Tipo</th>
          <th>Descripción</th>
         </tr>

        </thead>

        <tbody class="tbody">
         
         <tr>
          <td>keyVaultClient</td>
          <td><span class="classname"><a href="class.mongodb-driver-manager.php" class="classname">MongoDB\Driver\Manager</a></span></td>
          <td>El Manager utilizado para enrutar las peticiones de claves de datos a un cluster MongoDB diferente. Por omisión, el Manager y cluster actual es utilizado.</td>
         </tr>


         
         <tr>
          <td>keyVaultNamespace</td>
          <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
          <td>Un nombre de espacio completamente calificado (por ejemplo <code class="literal">&quot;databaseName.collectionName&quot;</code>) denotando la colección que contiene todas las claves de datos utilizadas para el cifrado y descifrado. Esta opción es requerida.</td>
</tr>


         
         <tr>
          <td>kmsProviders</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            Un documento que contiene la configuración de uno o varios
            proveedores KMS, que se utilizan para cifrar las claves de datos.
            Los proveedores soportados son <code class="literal">&quot;aws&quot;</code>,
            <code class="literal">&quot;azure&quot;</code>, <code class="literal">&quot;gcp&quot;</code> y
            <code class="literal">&quot;local&quot;</code>, y al menos uno debe ser especificado.
           </p>
           <p class="para">
            Si se especifica un documento vacío para <code class="literal">&quot;aws&quot;</code>,
            <code class="literal">&quot;azure&quot;</code>, o <code class="literal">&quot;gcp&quot;</code>, el controlador
            intentará configurar el proveedor utilizando
            <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#automatic-credentials" class="link external">&raquo;&nbsp;Automatic Credentials</a>.
           </p>
           <p class="para">
            El formato para <code class="literal">&quot;aws&quot;</code> es el siguiente:
           </p>
           <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">aws: {
    accessKeyId: &lt;string&gt;,
    secretAccessKey: &lt;string&gt;,
    sessionToken: &lt;optional string&gt;
}</pre>
</div>
           </div>

           <p class="para">
            El formato para <code class="literal">&quot;azure&quot;</code> es el siguiente:
           </p>
           <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">azure: {
    tenantId: &lt;string&gt;,
    clientId: &lt;string&gt;,
    clientSecret: &lt;string&gt;,
    identityPlatformEndpoint: &lt;optional string&gt; // Defaults to &quot;login.microsoftonline.com&quot;

}</pre>
</div>
           </div>

           <p class="para">
            El formato para <code class="literal">&quot;gcp&quot;</code> es el siguiente:
           </p>
           <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">gcp: {
    email: &lt;string&gt;,
    privateKey: &lt;base64 string&gt;|&lt;MongoDB\BSON\Binary&gt;,
    endpoint: &lt;optional string&gt; // Defaults to &quot;oauth2.googleapis.com&quot;

}</pre>
</div>
           </div>

           <p class="para">
            El formato para <code class="literal">&quot;kmip&quot;</code> es el siguiente:
           </p>
           <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">kmip: {
    endpoint: &lt;string&gt;
}</pre>
</div>
           </div>

           <p class="para">
            El formato para <code class="literal">&quot;local&quot;</code> es el siguiente:
           </p>
           <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: &lt;base64 string&gt;|&lt;MongoDB\BSON\Binary&gt;
}</pre>
</div>
           </div>

          </td>
         </tr>


         
 <tr>
  <td>tlsOptions</td>
  <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
  <td>
   <p class="para">
    Un documento que contiene la configuración TLS de uno o varios
    proveedores KMS.
    Los proveedores soportados son <code class="literal">&quot;aws&quot;</code>,
    <code class="literal">&quot;azure&quot;</code>, <code class="literal">&quot;gcp&quot;</code> y
    <code class="literal">&quot;kmip&quot;</code>.
    Todos los proveedores soportan las siguientes opciones:
   </p>
   <div class="example-contents">
<div class="javascriptcode"><pre class="javascriptcode">&lt;provider&gt;: {
    tlsCaFile: &lt;optional string&gt;,
    tlsCertificateKeyFile: &lt;optional string&gt;,
    tlsCertificateKeyFilePassword: &lt;optional string&gt;,
    tlsDisableOCSPEndpointCheck: &lt;optional bool&gt;
}</pre>
</div>
   </div>

  </td>
 </tr>


         <tr>
          <td>schemaMap</td>
          <td><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.object.php" class="type object">object</a></span></span></td>
          <td>
           <p class="para">
            Mapea los espacios de nombres de colección a un esquema JSON local. Esto se
            utiliza para configurar el cifrado automático. Ver
            <a href="https://www.mongodb.com/docs/manual/reference/security-client-side-automatic-json-schema/" class="link external">&raquo;&nbsp;Reglas de cifrado automático</a>
            en el manual MongoDB para más información. Es un error
            especificar una colección tanto en <code class="literal">schemaMap</code> como
            en <code class="literal">encryptedFieldsMap</code>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Proporcionar un <code class="literal">schemaMap</code> proporciona más
             seguridad que confiar en los esquemas JSON obtenidos del
             servidor. Esto protege contra un servidor malintencionado anunciando un falso
             esquema JSON, que podría engañar al cliente para enviar
             datos no cifrados que deberían estar cifrados.
            </span>
           </p></blockquote>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Los esquemas proporcionados en el <code class="literal">schemaMap</code> solo se aplican
             a la configuración del cifrado automático para el cifrado del lado del cliente.
             Otras reglas de validación en el esquema JSON no serán
             aplicadas por el controlador y resultarán en un error.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>bypassAutoEncryption</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, <code class="literal">mongocryptd</code> no será lanzado
           automáticamente. Esto se utiliza para desactivar el cifrado automático.
           Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
          </td>
         </tr>

         <tr>
          <td>bypassQueryAnalysis</td>
          <td><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></td>
          <td>
           <p class="para">
            Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, el análisis automático de las comandos salientes será desactivado y
            <code class="literal">mongocryptd</code> no será lanzado automáticamente. Esto permite
            el caso de uso del cifrado explícito para consultar campos indexados sin requerir
            la biblioteca <code class="literal">crypt_shared</code> bajo licencia empresarial o
            el proceso <code class="literal">mongocryptd</code>. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
           </p>
          </td>
         </tr>

         <tr>
          <td>encryptedFieldsMap</td>
          <td><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.object.php" class="type object">object</a></span></span></td>
          <td>
           <p class="para">
            Mapea los espacios de nombres de colección a un documento
            <code class="literal">encryptedFields</code>. Esto se utiliza para
            configurar el cifrado consultable. Ver
            <a href="https://www.mongodb.com/docs/manual/core/queryable-encryption/fundamentals/encrypt-and-query/" class="link external">&raquo;&nbsp;Cifrado de campo y consultabilidad</a>
            en el manual MongoDB para más información. Es un error
            especificar una colección tanto en
            <code class="literal">encryptedFieldsMap</code> como
            en <code class="literal">schemaMap</code>.
           </p>
           <blockquote class="note"><p><strong class="note">Nota</strong>: 
            <span class="simpara">
             Proporcionar un <code class="literal">encryptedFieldsMap</code> proporciona más
             seguridad que confiar en los
             <code class="literal">encryptedFields</code> obtenidos del servidor.
             Esto protege contra un servidor malintencionado anunciando un falso
             <code class="literal">encryptedFields</code>.
            </span>
           </p></blockquote>
          </td>
         </tr>

         <tr>
          <td>extraOptions</td>
          <td><span class="type"><a href="language.types.array.php" class="type array">array</a></span></td>
          <td>
           <p class="para">
            El <code class="literal">extraOptions</code> se refieren al
            proceso <code class="literal">mongocryptd</code>. Las siguientes
            opciones son admitidas:
           </p>
           <ul class="simplelist">
            <li><code class="literal">mongocryptdURI</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>): URI para conectarse a un proceso <code class="literal">mongocryptd</code> existente. Por omisión, <code class="literal">&quot;mongodb://localhost:27020&quot;</code>.</li>
            <li><code class="literal">mongocryptdBypassSpawn</code> (<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>): Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, impide que el controlador lance <code class="literal">mongocryptd</code>. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.</li>
            <li><code class="literal">mongocryptdSpawnPath</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>): Ruta absoluta para buscar el binario <code class="literal">mongocryptd</code>. Por omisión, una cadena vacía y consulta las rutas del sistema.</li>
            <li><code class="literal">mongocryptdSpawnArgs</code> (<span class="type"><a href="language.types.array.php" class="type array">array</a></span>): Array de argumentos de cadena a pasar a <code class="literal">mongocryptd</code> al lanzarlo. Por omisión, <code class="literal">[&quot;--idleShutdownTimeoutSecs=60&quot;]</code>.</li>
            <li><code class="literal">cryptSharedLibPath</code> (<span class="type"><a href="language.types.string.php" class="type string">string</a></span>): Ruta absoluta hacia la biblioteca compartida <code class="literal">crypt_shared</code>. Por omisión, una cadena vacía y consulta las rutas del sistema.</li>
            <li><code class="literal">cryptSharedLibRequired</code> (<span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span>): Si <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, exige que el controlador cargue <code class="literal">crypt_shared</code>. Por omisión, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.</li>
           </ul>
           <p class="para">
            Ver la <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#extraoptions" class="link external">&raquo;&nbsp;Especificación de cifrado del lado del cliente</a> para más información.
           </p>
          </td>
         </tr>

        </tbody>
       
      </table>

     </p>

     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       El cifrado automático es una funcionalidad empresarial que
       solo se aplica a las operaciones sobre una colección. El cifrado automático no es
       admitido para las operaciones sobre una base de datos o una vista, y las operaciones que
       no son sorteadas resultarán en un error. Para sortear el cifrado automático
       para todas las operaciones, establezca <code class="literal">bypassAutoEncryption=true</code>
       en <code class="literal">autoEncryption</code>. Para más información sobre las operaciones admitidas,
       ver la <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#libmongocrypt-auto-encryption-whitelist" class="link external">&raquo;&nbsp;Especificación de cifrado del lado del cliente</a>.
      </span>
     </p></blockquote>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 errors" id="refsect1-mongodb-driver-manager.construct-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <ul class="simplelist">
   <li>Lanza una excepción <span class="classname"><strong class="classname">MongoDB\Driver\InvalidArgumentException</strong></span> en caso de error durante el análisis de un argumento.</li>
   <li>Lanza una excepción <span class="classname"><a href="class.mongodb-driver-exception-invalidargumentexception.php" class="classname">MongoDB\Driver\Exception\InvalidArgumentException</a></span> si un parámetro es de tipo incorrecto</li>
  </ul>
 </div>


 <div class="refsect1 changelog" id="refsect1-mongodb-driver-manager.construct-changelog">
  <h3 class="title">Historial de cambios</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Versión</th>
       <th>Descripción</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>PECL mongodb 2.0.0</td>
       <td>
        <p class="para">
         La opción de URI <code class="literal">&quot;authMechanismProperties&quot;</code> ha sido eliminada.
         Utilizar la propiedad <code class="literal">&quot;CANONICALIZE_HOST_NAME&quot;</code> de la opción de URI
         <code class="literal">&quot;authMechanismProperties&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de URI <code class="literal">&quot;authMechanism&quot;</code> ha sido eliminada.
         Utilizar la propiedad <code class="literal">&quot;SERVICE_NAME&quot;</code> de la opción de URI
         <code class="literal">&quot;authMechanismProperties&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de URI <code class="literal">&quot;authSource&quot;</code> ha sido eliminada.
         Utilizar las opciones de URI <code class="literal">&quot;w&quot;</code> y <code class="literal">&quot;wTimeoutMS&quot;</code>
         en su lugar.
        </p>
        <p class="para">
         La opción de URI <code class="literal">&quot;ssl&quot;</code> ha sido eliminada. Utilizar la opción
         de URI <code class="literal">&quot;tls&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;allow_invalid_hostname&quot;</code> ha
         sido eliminada. Utilizar la opción de URI
         <code class="literal">&quot;tlsAllowInvalidHostnames&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;ca_file&quot;</code> ha
         sido eliminada. Utilizar la opción de URI
         <code class="literal">&quot;tlsCAFile&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;context&quot;</code> ha sido eliminada. Todas las
         opciones de contexto han sido deprecadas en favor de las diversas opciones
         de URI relacionadas con TLS.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;pem_file&quot;</code> ha sido eliminada. Utilizar
         la opción de URI <code class="literal">&quot;tlsCertificateKeyFile&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;pem_pwd&quot;</code> ha sido eliminada. Utilizar
         la opción de URI <code class="literal">&quot;tlsCertificateKeyFilePassword&quot;</code> en su lugar.
        </p>
        <p class="para">
         La opción de controlador <code class="literal">&quot;weak_cert_validation&quot;</code> ha sido eliminada.
         Utilizar la opción de URI <code class="literal">&quot;tlsAllowInvalidCertificates&quot;</code>
         en su lugar.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.16.0</td>
       <td>
        <p class="para">
         El proveedor AWS KMS para el cifrado del lado del cliente ahora acepta una
         opción <code class="literal">&quot;sessionToken&quot;</code>, que puede ser utilizada para
         autenticarse con credenciales AWS temporales.
        </p>
        <p class="para">
         Añadido <code class="literal">&quot;tlsDisableOCSPEndpointCheck&quot;</code> al
         campo <code class="literal">&quot;tlsOptions&quot;</code> de la opción de controlador
         <code class="literal">&quot;autoEncryption&quot;</code>.
        </p>
        <p class="para">
         Si se especifica un documento vacío para el proveedor KMS <code class="literal">&quot;azure&quot;</code> o
         <code class="literal">&quot;gcp&quot;</code>, el controlador intentará configurar el proveedor utilizando
         <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#automatic-credentials" class="link external">&raquo;&nbsp;las credenciales automáticas</a>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.15.0</td>
       <td>
        <p class="para">
         Si se especifica un documento vacío para el proveedor KMS <code class="literal">&quot;aws&quot;</code>, el controlador
         intentará configurar el proveedor utilizando
         <a href="https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#automatic-credentials" class="link external">&raquo;&nbsp;las credenciales automáticas</a>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.14.0</td>
       <td>
        <p class="para">
         Añadidas las opciones de cifrado del lado del cliente <code class="literal">&quot;bypassQueryAnalysis&quot;</code> y
         <code class="literal">&quot;encryptedFieldsMap&quot;</code>. Opciones adicionales relacionadas con <code class="literal">crypt_shared</code> son
         ahora admitidas en la opción de cifrado del lado del cliente
         <code class="literal">&quot;extraOptions&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.13.0</td>
       <td>
        <p class="para">
         Añadidas las opciones de URI <code class="literal">&quot;srvMaxHosts&quot;</code> y
         <code class="literal">&quot;srvServiceName&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.12.0</td>
       <td>
        <p class="para">
         KMIP es ahora admitido como proveedor KMS para el cifrado del lado del cliente y
         puede ser configurado en el campo <code class="literal">&quot;kmsProviders&quot;</code> de la opción de controlador
         <code class="literal">&quot;autoEncryption&quot;</code>. Además, las opciones TLS
         para los proveedores KMS pueden ahora ser configuradas en el
         campo <code class="literal">&quot;tlsOptions&quot;</code> de la opción de controlador
         <code class="literal">&quot;autoEncryption&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.11.0</td>
       <td>
        <p class="para">
         Añadida la opción de URI <code class="literal">&quot;loadBalanced&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.10.0</td>
       <td>
        <p class="para">
         Añadida la opción de controlador <code class="literal">&quot;disableClientPersistence&quot;</code>.
        </p>
        <p class="para">
         Azure y GCP son ahora admitidos como proveedores KMS para
         el cifrado del lado del cliente y pueden ser configurados en el campo
         <code class="literal">&quot;kmsProviders&quot;</code> de la opción de controlador
         <code class="literal">&quot;autoEncryption&quot;</code>. Las cadenas codificadas en base64 son ahora aceptadas
         como alternativa a <span class="classname"><a href="class.mongodb-bson-binary.php" class="classname">MongoDB\BSON\Binary</a></span> para las opciones en
         <code class="literal">&quot;kmsProviders&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.8.0</td>
       <td>
        <p class="para">
         Añadidas las opciones de URI <code class="literal">&quot;directConnection&quot;</code>,
         <code class="literal">&quot;tlsDisableCertificateRevocationCheck&quot;</code> y
         <code class="literal">&quot;tlsDisableOCSPEndpointCheck&quot;</code>.
        </p>
        <p class="para">
         Añadida la opción de controlador <code class="literal">&quot;driver&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.7.0</td>
       <td>
        <p class="para">
         Añadida la opción de controlador <code class="literal">&quot;autoEncryption&quot;</code>.
        </p>
        <p class="para">
         Especificar cualquier opción SSL o TLS a través del parámetro
         <code class="parameter">driverOptions</code> activará ahora implícitamente TLS, como
         ocurre con las opciones de URI correspondientes.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.6.0</td>
       <td>
        <p class="para">
         Añadidas las opciones de URI <code class="literal">&quot;retryReads&quot;</code>, <code class="literal">&quot;tls&quot;</code>,
         <code class="literal">&quot;tlsAllowInvalidCertificates&quot;</code>,
         <code class="literal">&quot;tlsAllowInvalidHostnames&quot;</code>,
         <code class="literal">&quot;tlsCAFile&quot;</code>,
         <code class="literal">&quot;tlsCertificateKeyFile&quot;</code>,
         <code class="literal">&quot;tlsCertificateKeyFilePassword&quot;</code>, y
         <code class="literal">&quot;tlsInsecure&quot;</code>.
        </p>
        <p class="para">
         La opción de URI <code class="literal">&quot;retryWrites&quot;</code> está ahora a <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> por omisión.
        </p>
        <p class="para">
         Especificar una opción de URI SSL o TLS a través de la cadena de conexión o
         el parámetro <code class="parameter">uriOptions</code> activará ahora
         implícitamente TLS a menos que <code class="literal">ssl</code> o <code class="literal">tls</code> sea <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>.
         TLS no es <em>implícitamente</em> activado para las opciones en
         el parámetro <code class="parameter">driverOptions</code>, lo que es inalterado
         con respecto a las versiones anteriores.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.5.0</td>
       <td>
        <p class="para">
         <code class="literal">&quot;wtimeoutMS&quot;</code> es ahora siempre validado y aplicado al write concern. Anteriormente, la opción era ignorada si
         <code class="literal">&quot;w&quot;</code> era &lt;= 1, ya que el tiempo de espera solo se aplica a
         la replicación.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.4.0</td>
       <td>
        <p class="para">
         Añadidas las opciones de URI <code class="literal">&quot;compressors&quot;</code>,
         <code class="literal">&quot;retryWrites&quot;</code>, y
         <code class="literal">&quot;zlibCompressionLevel&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.3.0</td>
       <td>
        <p class="para">
         El argumento <code class="parameter">uriOptions</code> ahora acepta
         las opciones <code class="literal">&quot;authMechanism&quot;</code> y
         <code class="literal">&quot;authMechanismProperties&quot;</code>. Anteriormente, estas
         opciones solo eran admitidas en el argumento
         <code class="parameter">uri</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.2.0</td>
       <td>
        <p class="para">
         El argumento <code class="parameter">uri</code> es ahora opcional y
         por omisión <code class="literal">&quot;mongodb://</code>. El puerto por omisión sigue siendo
         <code class="literal">27017</code>.
        </p>
        <p class="para">
         Añadida la opción de URI <code class="literal">&quot;appname&quot;</code>.
        </p>
        <p class="para">
         Añadidas las opciones de controlador <code class="literal">&quot;allow_invalid_hostname&quot;</code>,
         <code class="literal">&quot;ca_file&quot;</code>, <code class="literal">&quot;ca_dir&quot;</code>,
         <code class="literal">&quot;clr_file&quot;</code>, <code class="literal">&quot;pem_file&quot;</code>,
         <code class="literal">&quot;pem_pwd&quot;</code>, y
         <code class="literal">&quot;weak_cert_validation&quot;</code>.
        </p>
        <p class="para">
         La API de flujos PHP ya no se utiliza para la comunicación por socket. La opción
         <code class="literal">&quot;connectTimeoutMS&quot;</code> de la URI es ahora por omisión 10
         segundos en lugar de
         <a href="filesystem.configuration.php#ini.default-socket-timeout" class="link">default_socket_timeout</a>
         en versiones anteriores. Además, la extensión ya no admite todas las <a href="context.ssl.php" class="link">opciones de contexto SSL</a> a través
         de la opción de controlador <code class="literal">&quot;context&quot;</code>.
        </p>
       </td>
      </tr>

      <tr>
       <td>PECL mongodb 1.1.0</td>
       <td>
        <p class="para">
         El argumento <code class="parameter">uri</code> es ahora opcional y por omisión a
         <code class="literal">&quot;mongodb://localhost:27017/&quot;</code>.
        </p>
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-mongodb-driver-manager.construct-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-1">
   <p><strong>Ejemplo #1 Ejemplos básicos <span class="function"><strong>MongoDB\Driver\Manager::__construct()</strong></span></strong></p>
   <div class="example-contents"><p>Conexión a un nodo MongoDB autónomo:</p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://example.com:27017"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>
    Conexión a un nodo MongoDB autónomo a través de un socket de dominio Unix. La ruta del
    socket puede incluir caracteres especiales como barras diagonales y debe ser codificada
    con <span class="function"><a href="function.rawurlencode.php" class="function">rawurlencode()</a></span>.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://" </span><span style="color: #007700">. </span><span style="color: #0000BB">rawurlencode</span><span style="color: #007700">(</span><span style="color: #DD0000">"/tmp/mongodb-27017.sock"</span><span style="color: #007700">));<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Conexión a un conjunto de réplicas:</p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Conexión a un clúster fragmentado (es decir, una o más instancias mongos):</p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://mongos1.example.com,mongos2.example.com/"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Conexión a MongoDB con credenciales de autenticación para un usuario y una base de datos específicos:</p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://myusername:mypassword@example.com/?authSource=databaseName"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <div class="example-contents"><p>
    Conexión a MongoDB con credenciales de autenticación para un usuario
    y una base de datos específicos, donde el nombre de usuario o la contraseña incluye
    caracteres especiales (por ejemplo <code class="literal">@</code>, <code class="literal">:</code>,
    <code class="literal">%</code>). En el ejemplo siguiente, la cadena de contraseña
    <code class="literal">myp@ss:w%rd</code> ha sido manualmente escapada; sin embargo,
    <span class="function"><a href="function.rawurlencode.php" class="function">rawurlencode()</a></span> también puede ser utilizada para escapar
    los componentes de la URI que pueden contener caracteres especiales.
   </p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(</span><span style="color: #DD0000">"mongodb://myusername:myp%40ss%3Aw%25rd@example.com/?authSource=databaseName"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>


   <div class="example-contents"><p>Conexión a MongoDB con autenticación X509:</p></div>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$manager </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Manager</span><span style="color: #007700">(<br />    </span><span style="color: #DD0000">"mongodb://example.com/?ssl=true&amp;authMechanism=MONGODB-X509"</span><span style="color: #007700">,<br />    [],<br />    [<br />        </span><span style="color: #DD0000">"pem_file" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"/path/to/client.pem"</span><span style="color: #007700">,<br />    ]<br />);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-mongodb-driver-manager.construct-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><a href="mongodb.connection-handling.php" class="link">Manejo de la conexión y persistencia</a></li>
   <li><a href="https://www.mongodb.com/docs/manual/reference/connection-string/" class="link external">&raquo;&nbsp;Formato de cadena de conexión MongoDB</a></li>
  </ul>
 </div>


</div><?php manual_footer($setup); ?>