<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Add collection document</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.mysql-xdevapi-collection.html">mysql_xdevapi\Collection</a></div> <div class="next" style="text-align: right; float: right;"><a href="mysql-xdevapi-collection.addorreplaceone.html">Collection::addOrReplaceOne</a></div> <div class="up"><a href="class.mysql-xdevapi-collection.html">mysql_xdevapi\Collection</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><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> — <span class="dc-title">Add collection document</span></p> </div> <div class="refsect1 description" id="refsect1-mysql-xdevapi-collection.add-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type"><span class="type mysql_xdevapi\CollectionAdd">mysql_xdevapi\CollectionAdd</span></span> <span class="methodname"><strong>mysql_xdevapi\Collection::add</strong></span> ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$document</code></span> )</div> <p class="para rdfs-comment"> Triggers the insertion of the given document(s) into the collection, and multiple variants of this method are supported. Options include: </p> <ol type="1"> <li class="listitem"> <p class="para"> Add a single document as a JSON string. </p> </li> <li class="listitem"> <p class="para"> Add a single document as an array as: <em>[ 'field' => 'value', 'field2' => 'value2' ... ]</em> </p> </li> <li class="listitem"> <p class="para"> A mix of of both, and multiple documents can be added in the same operation. </p> </li> </ol> </div> <div class="refsect1 parameters" id="refsect1-mysql-xdevapi-collection.add-parameters"> <h3 class="title">Parameters</h3> <dl> <dt> <code class="parameter">document</code></dt> <dd> <p class="para"> One or multiple documents, and this can be either JSON or an array of fields with their associated values. This cannot be an empty array. </p> <p class="para"> The MySQL server automatically generates unique <em>_id</em> values for each document (recommended), although this can be manually added as well. This value must be unique as otherwise the add operation will fail. </p> </dd> </dl> </div> <div class="refsect1 returnvalues" id="refsect1-mysql-xdevapi-collection.add-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> A CollectionAdd object. Use execute() to return a Result that can be used to query the number of affected items, the number warnings generated by the operation, or to fetch a list of generated IDs for the inserted documents. </p> </div> <div class="refsect1 examples" id="refsect1-mysql-xdevapi-collection.add-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-1979"> <p><strong>Example #1 <span class="function"><strong>mysql_xdevapi\Collection::add()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br />$session </span><span style="color: #007700">= </span><span style="color: #0000BB">mysql_xdevapi</span><span style="color: #007700">\</span><span style="color: #0000BB">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">-></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">)-></span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$session</span><span style="color: #007700">-></span><span style="color: #0000BB">sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"CREATE DATABASE addressbook"</span><span style="color: #007700">)-></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">-></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">-></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">-></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">// Add two documents<br /></span><span style="color: #0000BB">$collection</span><span style="color: #007700">-></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">)-></span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$collection</span><span style="color: #007700">-></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">)-></span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Add two documents using a single JSON object<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$collection</span><span style="color: #007700">-></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">)-></span><span style="color: #0000BB">execute</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">// Fetch a list of generated ID's from the last add()<br /></span><span style="color: #0000BB">$ids </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></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">?></span> </span> </code></div> </div> <div class="example-contents"><p>The above example will output something similar to:</p></div> <div class="example-contents screen"> <div class="cdata"><pre> Array ( [0] => 00005b6b53610000000000000056 [1] => 00005b6b53610000000000000057 ) </pre></div> </div> </div> </div> <div class="refsect1 notes" id="refsect1-mysql-xdevapi-collection.add-notes"> <h3 class="title">Notes</h3> <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para"> A unique _id is generated by MySQL Server 8.0 or higher, as demonstrated in the example. The _id field must be manually defined if using MySQL Server 5.7. </p> </p></blockquote> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="class.mysql-xdevapi-collection.html">mysql_xdevapi\Collection</a></div> <div class="next" style="text-align: right; float: right;"><a href="mysql-xdevapi-collection.addorreplaceone.html">Collection::addOrReplaceOne</a></div> <div class="up"><a href="class.mysql-xdevapi-collection.html">mysql_xdevapi\Collection</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>