<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'mongodb-driver-command.construct.php',
    1 => 'MongoDB\\Driver\\Command::__construct',
    2 => 'Cr&eacute;e une nouvelle commande',
  ),
  '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' => 'fr',
    '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">Crée une nouvelle commande</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-mongodb-driver-command.construct-description">
  <h3 class="title">Description</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">$document</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">$commandOptions</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>)</div>

  <p class="simpara">
   Construit un nouveau <span class="classname"><a href="class.mongodb-driver-command.php" class="classname">MongoDB\Driver\Command</a></span>, qui est
   un objet valeur immuable qui représente une commande de base de données.
   La commande peut alors être exécutée avec
   <span class="methodname"><a href="mongodb-driver-manager.executecommand.php" class="methodname">MongoDB\Driver\Manager::executeCommand()</a></span>.
  </p>
  <p class="simpara">
   Le document de commande complet, qui inclut le nom de la commande et ses
   options, doit être exprimé dans le paramètre <code class="parameter">document</code>.
   Le paramètre <code class="parameter">commandOptions</code> est utilisé uniquement
   pour spécifier les options liées à l&#039;exécution de la commande et le résultat
   <span class="classname"><a href="class.mongodb-driver-cursor.php" class="classname">MongoDB\Driver\Cursor</a></span>.
  </p>

 </div>


 <div class="refsect1 parameters" id="refsect1-mongodb-driver-command.construct-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <dl>
   
    <dt><code class="parameter">document</code></dt>
    <dd>
     <span class="simpara">
      Le document de commande complet, qui sera envoyé au serveur.
     </span>
    </dd>
   

   
    <dt><code class="parameter">commandOptions</code></dt>
    <dd>
     <blockquote class="note"><p><strong class="note">Note</strong>: 
      <span class="simpara">
       Ne pas utiliser ce paramètre pour spécifier les options décrites dans la
       référence de la commande dans le manuel MongoDB. Ce paramètre ne doit
       être utilisé que pour les options explicitement énumérées ci-dessous.
      </span>
     </p></blockquote>
     <p class="para">
      <table class="doctable table">
       <caption><strong>commandOptions</strong></caption>
       
        <thead>
         <tr>
          <th>Option</th>
          <th>Type</th>
          <th>Description</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">
            Entier positif indiquant la limite de temps en millisecondes pour
            que le serveur bloque une opération getMore si aucune donnée n&#039;est
            disponible. Cette option ne doit être utilisée qu&#039;en conjonction
            avec les commandes qui retournent un curseur à queue (par exemple
            <a href="https://www.mongodb.com/docs/manual/changeStreams/" class="link external">&raquo;&nbsp;Change Streams</a>).
           </span>
          </td>
         </tr>

        </tbody>
       
      </table>

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


 <div class="refsect1 errors" id="refsect1-mongodb-driver-command.construct-errors">
  <h3 class="title">Erreurs / Exceptions</h3>
  <ul class="simplelist">
   <li>Lance une exception <span class="classname"><strong class="classname">MongoDB\Driver\InvalidArgumentException</strong></span> lors d'une erreur survenue pendant l'analyse d'un argument.</li>
  </ul>
 </div>


 <div class="refsect1 changelog" id="refsect1-mongodb-driver-command.construct-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>PECL mongodb 1.4.0</td>
       <td>
        <span class="simpara">
         Ajout d&#039;un deuxième argument <code class="parameter">commandOptions</code>, qui
         prend en charge l&#039;option <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">Exemples</h3>
  <div class="example" id="example-2">
   <p><strong>Exemple #1 Exemple avec <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>Résultat de l&#039;exemple ci-dessus est similaire à :</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>Exemple #2 Exemple avec <span class="function"><strong>MongoDB\Driver\Command::__construct()</strong></span></strong></p>
   <div class="example-contents"><p>
    Les commandes peuvent également accepter des options, dans le cadre de la
    structure normale qu&#039;on crée pour envoyer au serveur. Par exemple,
    l&#039;option <code class="literal">maxTimeMS</code> peut être passée avec la plupart des
    commandes pour restreindre la durée pendant laquelle une commande spécifique
    peut s&#039;exécuter sur le serveur.
   </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>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
   <div class="example-contents screen"><br />
    operation exceeded time limit<br />
   </div>
  </div>
 </div>



 <div class="refsect1 seealso" id="refsect1-mongodb-driver-command.construct-seealso">
  <h3 class="title">Voir aussi</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> - Ex&eacute;cute une commande de base de donn&eacute;es</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); ?>