<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/mongodb.mongodb.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'class.mongodb-driver-readconcern.php',
    1 => 'MongoDB\\Driver\\ReadConcern',
    2 => 'La clase MongoDB\\Driver\\ReadConcern',
  ),
  'up' => 
  array (
    0 => 'mongodb.mongodb.php',
    1 => 'MongoDB\\Driver',
  ),
  'prev' => 
  array (
    0 => 'mongodb-driver-readpreference.gettagsets.php',
    1 => 'MongoDB\\Driver\\ReadPreference::getTagSets',
  ),
  'next' => 
  array (
    0 => 'mongodb-driver-readconcern.bsonserialize.php',
    1 => 'MongoDB\\Driver\\ReadConcern::bsonSerialize',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/mongodb/mongodb/driver/readconcern.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.mongodb-driver-readconcern.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.mongodb-driver-readconcern" class="reference">
 <h1 class="title">La clase MongoDB\Driver\ReadConcern</h1>
 

 <div class="partintro"><p class="verinfo">(mongodb &gt;=1.1.0)</p>


  <div class="section" id="mongodb-driver-readconcern.intro">
   <h2 class="title">Introducción</h2>
   <p class="para">
    <span class="classname"><strong class="classname">MongoDB\Driver\ReadConcern</strong></span> controla el nivel
    de aislamiento para las operaciones de lectura para los conjuntos de réplicas y las réplicas de réplicas. Esta
    opción requiere MongoDB 3.2 o posterior.
   </p>
  </div>


  <div class="section" id="mongodb-driver-readconcern.synopsis">
   <h2 class="title">Sinopsis de la Clase</h2>


   <div class="classsynopsis">
    <span class="ooclass"><strong class="classname"></strong></span>


    <div class="classsynopsisinfo">
     <span class="modifier">final</span>
     <span class="ooclass">
      <span class="modifier">class</span> <strong class="classname">MongoDB\Driver\ReadConcern</strong>
     </span>

     <span class="oointerface"><span class="modifier">implements</span> 
       <a href="class.mongodb-bson-serializable.php" class="interfacename">MongoDB\BSON\Serializable</a></span><span class="oointerface">,  <a href="class.serializable.php" class="interfacename">Serializable</a></span> {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Constantes */</div>
    <div class="fieldsynopsis">
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.linearizable"><var class="varname">AVAILABLE</var></a></var><span class="initializer"> = &quot;available&quot;</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.linearizable"><var class="varname">LINEARIZABLE</var></a></var><span class="initializer"> = &quot;linearizable&quot;</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.local"><var class="varname">LOCAL</var></a></var><span class="initializer"> = &quot;local&quot;</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.majority"><var class="varname">MAJORITY</var></a></var><span class="initializer"> = &quot;majority&quot;</span>;</div>

    <div class="fieldsynopsis"><span class="modifier">const</span>
     <span class="type"><a href="language.types.string.php" class="type string">string</a></span>
      <var class="fieldsynopsis_varname"><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.snapshot"><var class="varname">SNAPSHOT</var></a></var><span class="initializer"> = &quot;snapshot&quot;</span>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Métodos */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><a href="mongodb-driver-readconcern.bsonserialize.php" class="methodname">bsonSerialize</a></span>(): <span class="type"><a href="class.stdclass.php" class="type stdClass">stdClass</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><a href="mongodb-driver-readconcern.construct.php" class="methodname">__construct</a></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">$level</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>)</div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><a href="mongodb-driver-readconcern.getlevel.php" class="methodname">getLevel</a></span>(): <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></div>
<div class="methodsynopsis dc-description"><span class="modifier">final</span> <span class="modifier">public</span> <span class="methodname"><a href="mongodb-driver-readconcern.isdefault.php" class="methodname">isDefault</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   }</div>


  </div>


  <div class="section" id="mongodb-driver-readconcern.constants">
   <h2 class="title">Constantes predefinidas</h2>
   <dl>

    
     <dt id="mongodb-driver-readconcern.constants.available"><strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.available">MongoDB\Driver\ReadConcern::AVAILABLE</a></code></strong></dt>
     <dd>
      <p class="para">
       Por omisión para las lecturas en los secundarios cuando
       <code class="literal">afterClusterTime</code> y <code class="literal">level</code> no están
       especificados.
      </p>
      <p class="para">
       La consulta devuelve los datos más recientes de la instancia. No garantiza
       que los datos hayan sido escritos en la mayoría de los miembros del conjunto de réplicas
       (es decir, que puedan ser anulados).
      </p>
      <p class="para">
       Para las colecciones no fragmentadas (incluyendo las colecciones en un
       despliegue autónomo o un despliegue de réplicas), las lecturas
       <code class="literal">&quot;local&quot;</code> y <code class="literal">&quot;available&quot;</code> se comportan de manera idéntica.
      </p>
      <p class="para">
       Para un clúster compartido, la lectura <code class="literal">&quot;available&quot;</code> proporciona
       una mayor tolerancia a las particiones ya que no espera para
       garantizar garantías de coherencia. Sin embargo, una consulta con
       una lectura <code class="literal">&quot;available&quot;</code> puede devolver documentos huérfanos
       si el fragmento está en proceso de migración de piezas ya que la lectura
       <code class="literal">&quot;available&quot;</code>, a diferencia de la lectura
       <code class="literal">&quot;local&quot;</code>, no contacta al
       primario del fragmento ni a los servidores de configuración para obtener metadatos actualizados.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readconcern.constants.linearizable"><strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.linearizable">MongoDB\Driver\ReadConcern::LINEARIZABLE</a></code></strong></dt>
     <dd>
      <p class="para">
       La consulta devuelve los datos que reflejan todas las escrituras exitosas emitidas con un
       nivel de escritura de <code class="literal">&quot;majority&quot;</code> <em>y</em>
       reconocido antes del inicio de la operación de lectura. Para los conjuntos de réplicas
       que funcionan con <code class="literal">writeConcernMajorityJournalDefault</code> definido
       en <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong>, la lectura linealizable devuelve datos que nunca serán
       anulados.
      </p>
      <p class="para">
       Con <code class="literal">writeConcernMajorityJournalDefault</code> definido en
       <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, MongoDB no esperará que las escrituras <code class="literal">w: &quot;majority&quot;</code>
       sean durables antes de acusar recibo de las escrituras. En consecuencia,
       las operaciones de escritura <code class="literal">&quot;majority&quot;</code> podrían eventualmente ser anuladas
       en caso de pérdida de un miembro del conjunto de réplicas.
      </p>
      <p class="para">
       Se puede especificar un nivel de lectura linealizable para las operaciones de lectura en el
       primario únicamente.
      </p>
      <p class="para">
       La lectura linealizable garantiza que las operaciones
       de lectura especifiquen un filtro de consulta que identifique de manera única un solo
       documento.
      </p>
      <div class="tip"><strong class="tip">Sugerencia</strong>
       <p class="simpara">
        Siempre utilizar <code class="literal">maxTimeMS</code> con una lectura linealizable
        en caso de no disponibilidad de la mayoría de los miembros portadores de datos.
        <code class="literal">maxTimeMS</code> garantiza que la operación no bloquee
        indefinidamente y garantiza que la operación devuelva un error si
        el nivel de lectura no puede ser satisfecho.
       </p>
      </div>
      <p class="para">
       La lectura linealizable requiere MongoDB 3.4.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readconcern.constants.local"><strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.local">MongoDB\Driver\ReadConcern::LOCAL</a></code></strong></dt>
     <dd>
      <p class="para">
       Por omisión para las lecturas en el primario si <code class="literal">level</code> no está
       especificado y para las lecturas en los secundarios si <code class="literal">level</code>
       no está especificado pero <code class="literal">afterClusterTime</code> está especificado.
      </p>
      <p class="para">
       La consulta devuelve los datos más recientes de la instancia. No garantiza
       que los datos hayan sido escritos en la mayoría de los miembros del conjunto de réplicas
       (es decir, que puedan ser anulados).
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readconcern.constants.majority"><strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.majority">MongoDB\Driver\ReadConcern::MAJORITY</a></code></strong></dt>
     <dd>
      <p class="para">
       La consulta devuelve los datos más recientes reconocidos como haber sido
       escritos en la mayoría de los miembros del conjunto de réplicas.
      </p>
      <p class="para">
       Para utilizar el nivel de lectura <code class="literal">&quot;majority&quot;</code>, los conjuntos de réplicas
       deben utilizar el motor de almacenamiento WiredTiger y el protocolo de elección versión 1.
      </p>
     </dd>
    

    
     <dt id="mongodb-driver-readconcern.constants.snapshot"><strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.snapshot">MongoDB\Driver\ReadConcern::SNAPSHOT</a></code></strong></dt>
     <dd>
      <p class="para">
       La lectura <code class="literal">&quot;snapshot&quot;</code> está disponible para las transacciones
       multi-documentos, y a partir de MongoDB 5.0, para ciertas operaciones de lectura
       fuera de las transacciones multi-documentos.
      </p>
      <p class="para">
       Si la transacción no forma parte de una sesión coherente, al validar la transacción con un nivel de escritura <code class="literal">&quot;majority&quot;</code>, las
       operaciones de transacción están garantizadas de haber leído desde una instantánea de datos
       mayoritariamente comprometidos.
      </p>
      <p class="para">
       Si la transacción forma parte de una sesión coherente, al validar la transacción con un nivel de escritura <code class="literal">&quot;majority&quot;</code>, las
       operaciones de transacción están garantizadas de haber leído desde una instantánea de datos
       mayoritariamente comprometidos que aseguran la coherencia causal con la operación inmediatamente
       anterior al inicio de la transacción.
      </p>
      <p class="para">
       Fuera de las transacciones multi-documentos, el nivel de lectura
       <code class="literal">&quot;snapshot&quot;</code> está disponible en los primarios y los secundarios
       para las siguientes operaciones de lectura: <code class="literal">find</code>,
       <code class="literal">aggregate</code> y <code class="literal">distinct</code> (en
       colecciones no fragmentadas). Todas las demás órdenes de lectura prohíben
       <code class="literal">&quot;snapshot&quot;</code>.
      </p>
     </dd>
    

   </dl>
  </div>


  <div class="section">
   <h2 class="title">Historial de cambios</h2>
   <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 1.11.0</td>
        <td>
         <p class="para">
          Adición de la constante
          <strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.snapshot">MongoDB\Driver\ReadConcern::SNAPSHOT</a></code></strong>.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL mongodb 1.7.0</td>
        <td>
         Implementa <span class="interfacename"><a href="class.serializable.php" class="interfacename">Serializable</a></span>.
        </td>
       </tr>

       <tr>
        <td>PECL mongodb 1.4.0</td>
        <td>
         <p class="para">
          Adición de la constante
          <strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.majority">MongoDB\Driver\ReadConcern::MAJORITY</a></code></strong>.
         </p>
        </td>
       </tr>

       <tr>
        <td>PECL mongodb 1.2.0</td>
        <td>
         <p class="para">
          Adición de la constante
          <strong><code><a href="class.mongodb-driver-readconcern.php#mongodb-driver-readconcern.constants.linearizable">MongoDB\Driver\ReadConcern::LINEARIZABLE</a></code></strong>
         </p>
         <p class="para">
          Implementa <span class="interfacename"><a href="class.mongodb-bson-serializable.php" class="interfacename">MongoDB\BSON\Serializable</a></span>.
         </p>
        </td>
       </tr>

      </tbody>
     
    </table>

   </p>
  </div>

  <div class="section" id="mongodb-driver-readconcern.seealso">
   <h2 class="title">Ver también</h2>
  <ul class="simplelist">
   <li><a href="https://www.mongodb.com/docs/manual/reference/read-concern/" class="link external">&raquo;&nbsp;Referencia de lectura</a></li>
  </ul>
  </div>

 </div>

 




























<h2>Tabla de contenidos</h2><ul class="chunklist chunklist_reference"><li><a href="mongodb-driver-readconcern.bsonserialize.php">MongoDB\Driver\ReadConcern::bsonSerialize</a> — Devuelve un objeto para la serializaci&oacute;n BSON</li><li><a href="mongodb-driver-readconcern.construct.php">MongoDB\Driver\ReadConcern::__construct</a> — Crear un nuevo ReadConcern</li><li><a href="mongodb-driver-readconcern.getlevel.php">MongoDB\Driver\ReadConcern::getLevel</a> — Devuelve la opci&oacute;n &quot;level&quot; del ReadConcern</li><li><a href="mongodb-driver-readconcern.isdefault.php">MongoDB\Driver\ReadConcern::isDefault</a> — Verifica si es el read concern por omisi&oacute;n</li></ul>
</div>
<?php manual_footer($setup); ?>