<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.mysql-xdevapi-collection.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'mysql-xdevapi-collection.add.php',
    1 => 'Collection::add',
    2 => 'F&uuml;gt einer Sammlung Dokumente hinzu',
  ),
  'up' => 
  array (
    0 => 'class.mysql-xdevapi-collection.php',
    1 => 'mysql_xdevapi\\Collection',
  ),
  'prev' => 
  array (
    0 => 'class.mysql-xdevapi-collection.php',
    1 => 'mysql_xdevapi\\Collection',
  ),
  'next' => 
  array (
    0 => 'mysql-xdevapi-collection.addorreplaceone.php',
    1 => 'Collection::addOrReplaceOne',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/mysql_xdevapi/mysql_xdevapi/collection/add.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="mysql-xdevapi-collection.add" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Collection::add</h1>
  <p class="verinfo">(No version information available, might only be in Git)</p><p class="refpurpose"><span class="refname">Collection::add</span> &mdash; <span class="dc-title">Fügt einer Sammlung Dokumente hinzu</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-mysql-xdevapi-collection.add-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>mysql_xdevapi\Collection::add</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$document</code></span>): <span class="type"><a href="class.mysql-xdevapi-collectionadd.php" class="type mysql_xdevapi\CollectionAdd">mysql_xdevapi\CollectionAdd</a></span></div>

  <p class="para rdfs-comment">
   Fügt die angegebenen Dokumente zu einer Sammlung hinzu, wobei diese Methode
   mehrere Varianten unterstützt. Zu den Möglichkeiten gehören:
  </p>
  <ol type="1">
   <li class="listitem">
    <p class="para">
     Hinzufügen eines einzelnen Dokuments als JSON-Zeichenkette.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Hinzufügen eines einzelnen Dokuments als Array:
     <code class="literal">[ &#039;field&#039; =&gt; &#039;value&#039;, &#039;field2&#039; =&gt; &#039;value2&#039; ... ]</code>
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     Eine Mischung aus beidem, wobei in einer Operation auch mehrere Dokumente
     hinzugefügt werden können.
    </p>
   </li>
  </ol>
 </div>


 <div class="refsect1 parameters" id="refsect1-mysql-xdevapi-collection.add-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <dl>
   
    <dt><code class="parameter">document</code></dt>
    <dd>
     <p class="para">
      Ein oder mehrere Dokumente, wobei es sich entweder um JSON oder ein
      Array von Feldern mit den zugehörigen Werten handeln kann. Das Array
      darf nicht leer sein.
     </p>
     <p class="para">
      Der MySQL-Server erzeugt für jedes Dokument automatisch einen
      eindeutigen <code class="literal">_id</code>-Wert (empfohlen), der jedoch auch
      manuell hinzugefügt werden kann. Dieser Wert darf noch nicht vorhanden
      sein, weil der Vorgang sonst fehlschlägt.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-mysql-xdevapi-collection.add-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt ein CollectionAdd-Objekt zurück. Mittels execute() wird ein Ergebnis
   zurückgegeben, das verwendet werden kann, um die Anzahl der betroffenen
   Elemente abzufragen, die Anzahl der durch den Vorgang erzeugten Warnungen
   zu ermitteln oder eine Liste der erzeugten IDs für die eingefügten
   Dokumente zu erhalten.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-mysql-xdevapi-collection.add-examples">
  <h3 class="title">Beispiele</h3>
  <div class="example" id="example-1">
   <p><strong>Beispiel #1 <span class="function"><strong>mysql_xdevapi\Collection::add()</strong></span>-Beispiel</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$session </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_xdevapi\getSession</span><span style="color: #007700">(</span><span style="color: #DD0000">"mysqlx://user:password@localhost"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"DROP DATABASE IF EXISTS addressbook"</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"CREATE DATABASE addressbook"</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$schema </span><span style="color: #007700">= </span><span style="color: #0000BB">$session</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSchema</span><span style="color: #007700">(</span><span style="color: #DD0000">"addressbook"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$create </span><span style="color: #007700">= </span><span style="color: #0000BB">$schema</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">createCollection</span><span style="color: #007700">(</span><span style="color: #DD0000">"people"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$collection </span><span style="color: #007700">= </span><span style="color: #0000BB">$schema</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getCollection</span><span style="color: #007700">(</span><span style="color: #DD0000">"people"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Hinzufügen zweier Dokumente<br /></span><span style="color: #0000BB">$collection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #DD0000">'{"name": "Fred",  "age": 21, "job": "Construction"}'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$collection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #DD0000">'{"name": "Wilma", "age": 23, "job": "Teacher"}'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Hinzufügen zweier Dokumente mit einem einzigen JSON-Objekt<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$collection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(<br />  </span><span style="color: #DD0000">'{"name": "Bernie",<br />    "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],<br />    "hobbies": ["Sports","Making cupcakes"]}'</span><span style="color: #007700">,<br />  </span><span style="color: #DD0000">'{"name": "Jane",<br />    "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],<br />    "hobbies": ["Walking","Making pies"]}'</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Abrufen einer Liste der beim letzten add() erzeugten IDs<br /></span><span style="color: #0000BB">$ids </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getGeneratedIds</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$ids</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Array
(
    [0] =&gt; 00005b6b53610000000000000056
    [1] =&gt; 00005b6b53610000000000000057
)</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-mysql-xdevapi-collection.add-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <p class="para">
    Wie im Beispiel gezeigt, wird ab MySQL-Server 8.0 eine eindeutige
    _id erzeugt. Wenn MySQL 5.7 verwendet wird, muss das Feld _id manuell
    definiert werden.
   </p>
  </p></blockquote>
 </div>


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