<?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-command.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'mongodb-driver-command.construct.php',
    1 => 'MongoDB\\Driver\\Command::__construct',
    2 => 'Crea un nuevo Command',
  ),
  'up' => 
  array (
    0 => 'class.mongodb-driver-command.php',
    1 => 'MongoDB\\Driver\\Command',
  ),
  'prev' => 
  array (
    0 => 'class.mongodb-driver-command.php',
    1 => 'MongoDB\\Driver\\Command',
  ),
  'next' => 
  array (
    0 => 'class.mongodb-driver-query.php',
    1 => 'MongoDB\\Driver\\Query',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/mongodb/mongodb/driver/command/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

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

 </div>

 <div class="refsect1 description" id="refsect1-mongodb-driver-command.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\Command::__construct</strong></span>(<span class="methodparam"><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> <code class="parameter">$documento</code></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">$opcionesComando</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>)</div>

  <p class="simpara">
   Construye un nuevo <span class="classname"><a href="class.mongodb-driver-command.php" class="classname">MongoDB\Driver\Command</a></span>, que es un
   objeto de valor inmutable que representa un comando de base de datos. El comando
   puede entonces ser ejecutado con
   <span class="methodname"><a href="mongodb-driver-manager.executecommand.php" class="methodname">MongoDB\Driver\Manager::executeCommand()</a></span>.
  </p>
  <p class="simpara">
   El documento de comando completo, que incluye el nombre del comando y sus
   opciones, debe ser expresado en el parámetro <code class="parameter">documento</code>.
   El parámetro <code class="parameter">opcionesComando</code> solo se utiliza para especificar
   opciones relacionadas con la ejecución del comando y el <span class="classname"><a href="class.mongodb-driver-cursor.php" class="classname">MongoDB\Driver\Cursor</a></span>
   resultante.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-mongodb-driver-command.construct-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">documento</code></dt>
    <dd>
     <span class="simpara">
      El documento de comando completo, que será enviado al servidor.
     </span>
    </dd>
   

   
    <dt><code class="parameter">opcionesComando</code></dt>
    <dd>
     <blockquote class="note"><p><strong class="note">Nota</strong>: 
      <span class="simpara">
       No utilice este parámetro para especificar opciones descritas en la referencia
       del comando en el manual de MongoDB. Este parámetro solo debe ser utilizado
       para las opciones listadas explícitamente a continuación.
      </span>
     </p></blockquote>
     <p class="para">
      <table class="doctable table">
       <caption><strong>opcionesComando</strong></caption>
       
        <thead>
         <tr>
          <th>Opción</th>
          <th>Tipo</th>
          <th>Descripción</th>
         </tr>

        </thead>

        <tbody class="tbody">
         <tr>
          <td>maxAwaitTimeMS</td>
          <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
          <td>
           <span class="simpara">
            Entero positivo que denota el límite de tiempo en milisegundos para que
            el servidor bloquee una operación getMore si no hay datos disponibles.
            Esta opción solo debe ser utilizada en conjunto con comandos que
            devuelven un cursor rastreable (p. ej. <a href="https://www.mongodb.com/docs/manual/changeStreams/" class="link external">&raquo;&nbsp;Streams de Cambios</a>).
           </span>
          </td>
         </tr>

        </tbody>
       
      </table>

     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 errors" id="refsect1-mongodb-driver-command.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>
  </ul>
 </div>


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

    </thead>

    <tbody class="tbody">
     <tr>
      <td>PECL mongodb 1.4.0</td>
      <td>
       <span class="simpara">
        Se añadió un segundo argumento <code class="parameter">opcionesComando</code>, que
        soporta la opción <code class="literal">&quot;maxAwaitTimeMS&quot;</code>.
       </span>
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-mongodb-driver-command.construct-examples">
  <h3 class="title">Ejemplos</h3>
  <div class="example" id="example-2">
   <p><strong>Ejemplo #1 Ejemplo de <span class="function"><strong>MongoDB\Driver\Command::__construct()</strong></span></strong></p>
   <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://localhost:27017"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$command </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Command</span><span style="color: #007700">(array(</span><span style="color: #DD0000">"buildinfo" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">));<br /><br />try {<br />    </span><span style="color: #0000BB">$cursor </span><span style="color: #007700">= </span><span style="color: #0000BB">$manager</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">executeCommand</span><span style="color: #007700">(</span><span style="color: #DD0000">"admin"</span><span style="color: #007700">, </span><span style="color: #0000BB">$command</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$cursor</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">toArray</span><span style="color: #007700">()[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />} catch(</span><span style="color: #0000BB">MongoDB\Driver\Exception $e</span><span style="color: #007700">) {<br />    echo </span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">(), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    exit;<br />}<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Resultado del ejemplo anterior es similar a:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">array(13) {
  [&quot;version&quot;]=&gt;
  string(14) &quot;2.8.0-rc2-pre-&quot;
  [&quot;gitVersion&quot;]=&gt;
  string(62) &quot;b743d7158f7642f4da6b7eac8320374b3b88dc2e modules: subscription&quot;
  [&quot;OpenSSLVersion&quot;]=&gt;
  string(25) &quot;OpenSSL 1.0.1f 6 Jan 2014&quot;
  [&quot;sysInfo&quot;]=&gt;
  string(104) &quot;Linux infant 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49&quot;
  [&quot;loaderFlags&quot;]=&gt;
  string(91) &quot;-fPIC -pthread -Wl,-z,now -rdynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-E&quot;
  [&quot;compilerFlags&quot;]=&gt;
  string(301) &quot;-Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -std=c99&quot;
  [&quot;allocator&quot;]=&gt;
  string(8) &quot;tcmalloc&quot;
  [&quot;versionArray&quot;]=&gt;
  array(4) {
    [0]=&gt;
    int(2)
    [1]=&gt;
    int(8)
    [2]=&gt;
    int(0)
    [3]=&gt;
    int(-8)
  }
  [&quot;javascriptEngine&quot;]=&gt;
  string(2) &quot;V8&quot;
  [&quot;bits&quot;]=&gt;
  int(64)
  [&quot;debug&quot;]=&gt;
  bool(false)
  [&quot;maxBsonObjectSize&quot;]=&gt;
  int(16777216)
  [&quot;ok&quot;]=&gt;
  float(1)
}</pre>
</div>
   </div>
  </div>

  <div class="example" id="example-3">
   <p><strong>Ejemplo #2 Ejemplo de <span class="function"><strong>MongoDB\Driver\Command::__construct()</strong></span></strong></p>
   <div class="example-contents"><p>
    Los comandos pueden aceptar opciones también, como parte de la estructura
    normal que se crea para enviar al servidor. Por ejemplo, la opción
    <code class="literal">maxTimeMS</code> puede ser pasada con la mayoría de comandos
    para restringir la cantidad de tiempo que un comando específico puede ejecutarse
    en el servidor.
   </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://localhost:27017"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$command </span><span style="color: #007700">= new </span><span style="color: #0000BB">MongoDB\Driver\Command</span><span style="color: #007700">(<br />    array(<br />        </span><span style="color: #DD0000">"distinct" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"beer"</span><span style="color: #007700">,<br />        </span><span style="color: #DD0000">"key" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"beer_name"</span><span style="color: #007700">,<br />        </span><span style="color: #DD0000">"maxTimeMS" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">10</span><span style="color: #007700">,<br />    )<br />);<br /><br />try {<br />    </span><span style="color: #0000BB">$cursor </span><span style="color: #007700">= </span><span style="color: #0000BB">$manager</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">executeCommand</span><span style="color: #007700">(</span><span style="color: #DD0000">"beerdb"</span><span style="color: #007700">, </span><span style="color: #0000BB">$command</span><span style="color: #007700">);<br />    </span><span style="color: #0000BB">$response </span><span style="color: #007700">= </span><span style="color: #0000BB">$cursor</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">toArray</span><span style="color: #007700">()[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br />} catch(</span><span style="color: #0000BB">MongoDB\Driver\Exception\Exception $e</span><span style="color: #007700">) {<br />    echo </span><span style="color: #0000BB">$e</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getMessage</span><span style="color: #007700">(), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />    exit;<br />}<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$response</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Resultado del ejemplo anterior es similar a:</p></div>
   <div class="example-contents screen"><br />
    la operación excedió el límite de tiempo<br />
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-mongodb-driver-command.construct-seealso">
  <h3 class="title">Ver también</h3>
  <ul class="simplelist">
   <li><span class="methodname"><a href="mongodb-driver-manager.executecommand.php" class="methodname" rel="rdfs-seeAlso">MongoDB\Driver\Manager::executeCommand()</a> - Ejecuta un comando de base de datos</span></li>
   <li><span class="classname"><a href="class.mongodb-driver-cursor.php" class="classname">MongoDB\Driver\Cursor</a></span></li>
  </ul>
 </div>


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