中国白 發表於 2019-12-12 22:51:00

MongoDb的增删改查

<h1>MongoDB 创建数据库</h1>
<h3>语法</h3>
<p>MongoDB 创建数据库的语法格式如下:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">use</span> DATABASE_NAME</pre>
</div>
<p>&nbsp;</p>
<p>如果数据库不存在,则创建数据库,否则切换到指定数据库。</p>
<h3>实例</h3>
<p>以下实例我们创建了数据库 runoob:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> <span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> runoob
switched </span><span style="color: rgba(0, 0, 255, 1)">to</span><span style="color: rgba(0, 0, 0, 1)"> db runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> db
runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>如果你想查看所有数据库,可以使用&nbsp;<strong>show dbs</strong>&nbsp;命令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show dbs
admin   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
config</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
local   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> db.runoob.<span style="color: rgba(0, 0, 255, 1)">insert</span><span style="color: rgba(0, 0, 0, 1)">({"name":"菜鸟教程"})
WriteResult({ "nInserted" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span><span style="color: rgba(0, 0, 0, 1)"> })
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show dbs
admin   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
config</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
local   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
runoob</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span>.000GB</pre>
</div>
<p>&nbsp;</p>
<p>MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中</p>
<h1>MongoDB 删除数据库</h1>
<h3>语法</h3>
<p>MongoDB 删除数据库的语法格式如下:</p>
<div class="cnblogs_code">
<pre>db.dropDatabase()</pre>
</div>
<p>&nbsp;</p>
<p>删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。</p>
<h3>实例</h3>
<p>以下实例我们删除了数据库 runoob。</p>
<p>首先,查看所有数据库:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show dbs
admin   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
config</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
local   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
runoob</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span>.000GB</pre>
</div>
<p>&nbsp;</p>
<p>接下来我们切换到数据库 runoob:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> <span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> runoob
switched </span><span style="color: rgba(0, 0, 255, 1)">to</span><span style="color: rgba(0, 0, 0, 1)"> db runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span> </pre>
</div>
<p>&nbsp;</p>
<p>执行删除命令:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> db.dropDatabase()
{ "dropped" : "runoob", "ok" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> }</pre>
</div>
<p>&nbsp;</p>
<p>最后,我们再通过 show dbs 命令数据库是否删除成功:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show dbs
admin   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
config</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">.000GB
local   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span>.000GB</pre>
</div>
<p>&nbsp;</p>
<h3>删除集合</h3>
<p>集合删除语法格式如下:</p>
<div class="cnblogs_code">
<pre>db.collection.<span style="color: rgba(0, 0, 255, 1)">drop</span>()</pre>
</div>
<p>&nbsp;</p>
<p>以下实例删除了 runoob 数据库中的集合 site:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> <span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> runoob
switched </span><span style="color: rgba(0, 0, 255, 1)">to</span><span style="color: rgba(0, 0, 0, 1)"> db runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> db.createCollection("runoob")   # 先创建集合,类似数据库中的表
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show tables
runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span> db.runoob.<span style="color: rgba(0, 0, 255, 1)">drop</span><span style="color: rgba(0, 0, 0, 1)">()
true
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show tables
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span> </pre>
</div>
<p>&nbsp;</p>
<h1>MongoDB 创建集合</h1>
<p>MongoDB 中使用&nbsp;<strong>createCollection()</strong>&nbsp;方法来创建集合。</p>
<p>语法格式:</p>
<div class="cnblogs_code">
<pre>db.createCollection(name, options)</pre>
</div>
<p>&nbsp;</p>
<p>参数说明:</p>
<ul>
<li>name: 要创建的集合名称</li>
<li>options: 可选参数, 指定有关内存大小及索引的选项</li>
</ul>
<p>options 可以是如下参数:</p>
<table class="reference">
<thead>
<tr><th>字段</th><th>类型</th><th>描述</th></tr>
</thead>
<tbody>
<tr>
<td>capped</td>
<td>布尔</td>
<td>(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。<br><strong>当该值为 true 时,必须指定 size 参数。</strong></td>









</tr>
<tr>
<td>autoIndexId</td>
<td>布尔</td>
<td>(可选)如为 true,自动在 _id 字段创建索引。默认为 false。</td>









</tr>
<tr>
<td>size</td>
<td>数值</td>
<td>(可选)为固定集合指定一个最大值,以千字节计(KB)。<br><strong>如果 capped 为 true,也需要指定该字段。</strong></td>









</tr>
<tr>
<td>max</td>
<td>数值</td>
<td>(可选)指定固定集合中包含文档的最大数量。</td>









</tr>









</tbody>









</table>
<p>在插入文档时,MongoDB 首先检查固定集合的 size 字段,然后检查 max 字段。</p>
<h3>实例</h3>
<p>在 test 数据库中创建 runoob 集合:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> <span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> test
switched </span><span style="color: rgba(0, 0, 255, 1)">to</span><span style="color: rgba(0, 0, 0, 1)"> db test
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> db.createCollection("runoob")
{ "ok" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span><span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>如果要查看已有集合,可以使用&nbsp;<span class="marked">show collections&nbsp;或&nbsp;<span class="marked">show tables&nbsp;命令:</span></span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show collections
runoob
system.indexes</span></pre>
</div>
<p>&nbsp;</p>
<p>下面是带有几个关键参数的 createCollection() 的用法:</p>
<p>创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> db.createCollection("mycol", { capped : true, autoIndexId : true, size :
   </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">6142800</span>, <span style="color: rgba(255, 0, 255, 1)">max</span> : <span style="color: rgba(128, 0, 0, 1); font-weight: bold">10000</span><span style="color: rgba(0, 0, 0, 1)"> } )
{ "ok" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span><span style="color: rgba(0, 0, 0, 1)"> }
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span> db.mycol2.<span style="color: rgba(0, 0, 255, 1)">insert</span><span style="color: rgba(0, 0, 0, 1)">({"name" : "测试"})
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)"> show collections
mycol2
...</span></pre>
</div>
<p>&nbsp;</p>
<h1>MongoDB 删除集合</h1>
<p>本章节我们为大家介绍如何使用 MongoDB 来删除集合。</p>
<p>MongoDB 中使用 drop() 方法来删除集合。</p>
<p><strong>语法格式:</strong></p>
<div class="cnblogs_code">
<pre>db.collection.<span style="color: rgba(0, 0, 255, 1)">drop</span>()</pre>
</div>
<p>&nbsp;</p>
<p>参数说明:</p>
<ul>
<li>无</li>
</ul>
<p><strong>返回值</strong></p>
<p>如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。</p>
<h3>实例</h3>
<p>在数据库 mydb 中,我们可以先通过&nbsp;<span class="marked">show collections&nbsp;命令查看已存在的集合:</span></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 255, 1)">use</span><span style="color: rgba(0, 0, 0, 1)"> mydb
switched </span><span style="color: rgba(0, 0, 255, 1)">to</span><span style="color: rgba(0, 0, 0, 1)"> db mydb
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">show collections
mycol
mycol2
system.indexes
runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>接着删除集合 mycol2 :</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span>db.mycol2.<span style="color: rgba(0, 0, 255, 1)">drop</span><span style="color: rgba(0, 0, 0, 1)">()
true
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>通过 show collections 再次查看数据库 mydb 中的集合:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">show collections
mycol
system.indexes
runoob
</span><span style="color: rgba(128, 128, 128, 1)">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>从结果中可以看出 mycol2 集合已被删除。</p>
<h1>MongoDB&nbsp;<span class="color_h1">插入文档</span></h1>
<p>文档的数据结构和 JSON 基本一样。</p>
<p>所有存储在集合中的数据都是 BSON 格式。</p>
<p>BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。</p>
<h2 class="tutheader">插入文档(官网介绍)</h2>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212155321055-1278852474.png" alt="">&nbsp;</p>
<h3>Insert</h3>
<p><strong>插入单个</strong></p>
<div class="cnblogs_code">
<pre>db.products.<span style="color: rgba(0, 0, 255, 1)">insert</span>( { _id: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">101</span>, item: "box", qty: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">20</span><span style="color: rgba(0, 0, 0, 1)"> } );
db.products.find();</span></pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212155601281-453312330.png" alt=""></p>
<p>&nbsp;</p>
<p><strong>&nbsp;插入多个</strong></p>
<div class="cnblogs_code">
<pre>db.products.<span style="color: rgba(0, 0, 255, 1)">insert</span><span style="color: rgba(0, 0, 0, 1)">(
   </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
   { _id: 11, item: "pencil", qty: 50, type: "no.2" },
   { item: "pen", qty: 20 },
   { item: "eraser", qty: 25 }
   </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
   );
db.products.find();</span></pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212160622581-217506880.png" alt=""></p>
<p>&nbsp;</p>
<p><strong>&nbsp;InsertOne</strong></p>
<div class="cnblogs_code">
<pre>db.products.insertOne( {"item" : "packing peanuts", "qty" : <span style="color: rgba(128, 0, 0, 1); font-weight: bold">200</span> } );</pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212161700337-135690145.png" alt=""></p>
<p><strong>&nbsp;InsertMany</strong></p>
<div class="cnblogs_code">
<pre>db.products.insertMany( <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
      { item: "card", qty: 15 },
      { item: "envelope", qty: 20 },
      { item: "stamps" , qty: 30 }
   </span><span style="color: rgba(255, 0, 0, 1)">]</span> );</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212163335951-929920079.png" alt=""></p>
<h1>MongoDB 更新文档</h1>
<p>MongoDB 使用&nbsp;<strong>update()</strong>&nbsp;和&nbsp;<strong>save()</strong>&nbsp;方法来更新集合中的文档。接下来让我们详细来看下两个函数的应用及其区别。</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212163631089-1705887219.png" alt=""></p>
<h2>update() 方法</h2>
<p>update() 方法用于更新已存在的文档。语法格式如下:</p>
<pre class="prettyprint prettyprinted"><span class="pln">db<span class="pun">.<span class="pln">collection<span class="pun">.<span class="pln">update<span class="pun">(<span class="pln">
   <span class="str">&lt;query&gt;<span class="pun">,<span class="pln">
   <span class="str">&lt;update&gt;<span class="pun">,<span class="pln">
   <span class="pun">{<span class="pln">
   upsert<span class="pun">:<span class="pln"> <span class="str">&lt;boolean&gt;<span class="pun">,<span class="pln">
   multi<span class="pun">:<span class="pln"> <span class="str">&lt;boolean&gt;<span class="pun">,<span class="pln">
   writeConcern<span class="pun">:<span class="pln"> <span class="str">&lt;document&gt;<span class="pln">
   <span class="pun">}<span class="pln">
<span class="pun">)<br>具体查看:https://docs.mongodb.com/manual/reference/method/db.collection.update/<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<table class="colwidths-given docutils" border="1">
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter</th><th class="head">Type</th><th class="head">Description</th></tr>
</thead>
<tbody valign="top">
<tr class="row-even">
<td>query</td>
<td>document</td>
<td>
<p id="update-query" class="first">The selection criteria for the update. The same&nbsp;query selectors&nbsp;as in the&nbsp;<code class="xref mongodb mongodb-method docutils literal">find()</code>method are available.</p>
<div class="last versionchanged">
<p><span class="versionmodified">Changed in version 3.0:&nbsp;When you execute an&nbsp;<code class="xref mongodb mongodb-method docutils literal">update()</code>&nbsp;with&nbsp;<code class="docutils literal"><span class="pre">upsert:&nbsp;<span class="pre">true</span></span></code>and the query matches no existing document, MongoDB will refuse to insert a new document if the query specifies conditions on the&nbsp;<code class="docutils literal">_id</code>&nbsp;field using&nbsp;dot notation.</span></p>
</div>
</td>
</tr>
<tr class="row-odd">
<td>update</td>
<td>document or pipeline</td>
<td>
<p id="update-parameter" class="first">The modifications to apply. Can be one of the following:</p>
<table class="colwidths-given border-table docutils" border="1"><colgroup><col width="33%"><col width="67%"></colgroup>
<tbody valign="top">
<tr class="row-odd">
<td>Update document</td>
<td>
<p id="update-method-update-document" class="first last">Contains only&nbsp;update operator expressions.</p>
</td>
</tr>
<tr class="row-even">
<td>Replacement document</td>
<td>
<p id="update-method-replacement-document" class="first last">Contains only&nbsp;<code class="docutils literal"><span class="pre">&lt;field1&gt;:&nbsp;<span class="pre">&lt;value1&gt;</span></span></code>&nbsp;pairs.</p>
</td>
</tr>
<tr class="row-odd">
<td>Aggregation pipeline</td>
<td>
<p id="update-method-agg-pipeline" class="first">Consists only of the following aggregation stages:</p>
<ul class="last simple">
<li><code class="xref mongodb mongodb-pipeline docutils literal">$addFields</code>&nbsp;and its alias&nbsp;<code class="xref mongodb mongodb-pipeline docutils literal">$set</code></li>
<li><code class="xref mongodb mongodb-pipeline docutils literal">$project</code>&nbsp;and its alias&nbsp;<code class="xref mongodb mongodb-pipeline docutils literal">$unset</code></li>
<li><code class="xref mongodb mongodb-pipeline docutils literal">$replaceRoot</code>&nbsp;and its alias&nbsp;<code class="xref mongodb mongodb-pipeline docutils literal">$replaceWith</code>.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p class="last">For details and examples, see&nbsp;Examples.</p>
</td>
</tr>
<tr class="row-even">
<td>upsert</td>
<td>boolean</td>
<td>
<p id="update-upsert" class="first last">Optional. If set to&nbsp;<code class="docutils literal">true</code>, creates a new document when no document matches the query criteria. The default value is&nbsp;<code class="docutils literal">false</code>, which does&nbsp;<em>not</em>&nbsp;insert a new document when no match is found.</p>
</td>
</tr>
<tr class="row-odd">
<td>multi</td>
<td>boolean</td>
<td>
<p id="update-multi" class="first last">Optional. If set to&nbsp;<code class="docutils literal">true</code>, updates multiple documents that meet the&nbsp;<code class="docutils literal">query</code>&nbsp;criteria. If set to&nbsp;<code class="docutils literal">false</code>, updates one document. The default value is&nbsp;<code class="docutils literal">false</code>. For additional information, see&nbsp;Update Multiple Documents Examples.</p>
</td>
</tr>
<tr class="row-even">
<td>writeConcern</td>
<td>document</td>
<td>
<p id="update-wc" class="first">Optional. A document expressing the&nbsp;write concern. Omit to use the default write concern&nbsp;<code class="docutils literal"><span class="pre">w:&nbsp;<span class="pre">1</span></span></code>.</p>
<p>Do not explicitly set the write concern for the operation if run in a transaction. To use write concern with transactions, see&nbsp;Transactions and Write Concern.</p>
<p class="last">For an example using&nbsp;<code class="docutils literal">writeConcern</code>, see&nbsp;Override Default Write Concern.</p>
</td>
</tr>
<tr class="row-odd">
<td>collation</td>
<td>document</td>
<td>
<p id="update-collation" class="first">Optional.</p>
<p>Collation&nbsp;allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks.</p>
<p>For an example using&nbsp;<code class="docutils literal">collation</code>, see&nbsp;Specify Collation.</p>
<div class="last versionadded">
<p><span class="versionmodified">New in version 3.4.</span></p>
</div>
</td>
</tr>
<tr class="row-even">
<td>arrayFilters</td>
<td>array</td>
<td>
<p id="update-array-filters" class="first">Optional. An array of filter documents that determine which array elements to modify for an update operation on an array field.</p>
<p>In the&nbsp;update document, use the&nbsp;<code class="xref mongodb mongodb-update docutils literal">$[&lt;identifier&gt;]</code>&nbsp;to define an identifier to update only those array elements that match the corresponding filter document in the&nbsp;<code class="docutils literal">arrayFilters</code>.</p>
<div class="admonition note">
<p class="first admonition-title">NOTE</p>
<p class="last">You cannot have an array filter document for an identifier if the identifier is not included in the update document.</p>
</div>
<p>For examples, see&nbsp;Specify arrayFilters for Array Update Operations.</p>
<div class="last versionadded">
<p><span class="versionmodified">New in version 3.6.</span></p>
</div>
</td>
</tr>
<tr class="row-odd">
<td>hint</td>
<td>Document or string</td>
<td>
<p id="update-hint" class="first">Optional. A document or string that specifies the&nbsp;index&nbsp;to use to support the&nbsp;query predicate.</p>
<p>The option can take an index specification document or the index name string.</p>
<p>If you specify an index that does not exist, the operation errors.</p>
<p>For an example, see&nbsp;Specify hint for Update Operations.</p>
<div class="last versionadded">
<p><span class="versionmodified">New in version 4.2.</span></p>
</div>
</td>
</tr>
</tbody>
</table>
<pre class="prettyprint prettyprinted"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="str"><span class="pun"><span class="pln"><span class="str"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="str"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="str"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="str"><span class="pln"><span class="pun"><span class="pln"><span class="pun">&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p><strong>参数说明:</strong></p>
<ul>
<li><strong>query&nbsp;</strong>: update的查询条件,类似sql update查询内where后面的。</li>
<li><strong>update&nbsp;</strong>: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的</li>
<li><strong>upsert&nbsp;</strong>: 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。</li>
<li><strong>multi&nbsp;</strong>: 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。</li>
<li><strong>writeConcern&nbsp;</strong>:可选,抛出异常的级别。</li>
</ul>
<h3>实例</h3>
<p><strong>插入数据:</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.books.remove({});

db.books.insertMany(</span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
{
    "_id" : 1,
    "item" : "TBD",
    "stock" : 0,
    "info" : { "publisher" : "1111", "pages" : 430 },
    "tags" : [ "technology", "computer" </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
    "ratings" : </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> { "by" : "ijk", "rating" : 4 }, { "by" : "lmn", "rating" : 5 } </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
    "reorder" : false
   },
   {
    "_id" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">2</span><span style="color: rgba(0, 0, 0, 1)">,
    "item" : "XYZ123",
    "stock" : </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">15</span><span style="color: rgba(0, 0, 0, 1)">,
    "info" : { "publisher" : "</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">5555</span>", "pages" : <span style="color: rgba(128, 0, 0, 1); font-weight: bold">150</span><span style="color: rgba(0, 0, 0, 1)"> },
    "tags" : </span><span style="color: rgba(255, 0, 0, 1)">[</span> <span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
    "ratings" : </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> { "by" : "xyz", "rating" : 5 } </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
    "reorder" : false
   }
]);</span></pre>
</div>
<p>&nbsp;</p>
<p><strong>进行更新</strong></p>
<div class="cnblogs_code">
<pre>db.books.<span style="color: rgba(0, 0, 255, 1)">update</span><span style="color: rgba(0, 0, 0, 1)">(
   { _id: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span><span style="color: rgba(0, 0, 0, 1)"> },
   {
   $inc: { stock: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">5</span><span style="color: rgba(0, 0, 0, 1)"> },
   $</span><span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">: {
       item: "ABC123",
       "info.publisher": "</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">2222</span><span style="color: rgba(0, 0, 0, 1)">",
       tags: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> "software" </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
       "ratings.</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span>": { <span style="color: rgba(0, 0, 255, 1)">by</span>: "xyz", rating: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">3</span><span style="color: rgba(0, 0, 0, 1)"> }
   }
   }
)</span></pre>
</div>
<p>&nbsp;</p>
<p><strong>类比sql</strong></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">UPDATE</span><span style="color: rgba(0, 0, 0, 1)"> books
</span><span style="color: rgba(0, 0, 255, 1)">SET</span>    stock <span style="color: rgba(128, 128, 128, 1)">=</span> stock <span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">5</span><span style="color: rgba(0, 0, 0, 1)">
       item </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> "ABC123"
       publisher </span><span style="color: rgba(128, 128, 128, 1)">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">2222</span><span style="color: rgba(0, 0, 0, 1)">
       pages </span><span style="color: rgba(128, 128, 128, 1)">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">430</span><span style="color: rgba(0, 0, 0, 1)">
       tags </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> "software"
       rating_authors </span><span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(0, 0, 0, 1)"> "ijk,xyz"
       rating_values </span><span style="color: rgba(128, 128, 128, 1)">=</span> "<span style="color: rgba(128, 0, 0, 1); font-weight: bold">4</span>,<span style="color: rgba(128, 0, 0, 1); font-weight: bold">3</span><span style="color: rgba(0, 0, 0, 1)">"
</span><span style="color: rgba(0, 0, 255, 1)">WHERE</span>_id <span style="color: rgba(128, 128, 128, 1)">=</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span></pre>
</div>
<p>&nbsp;</p>
<p><strong>upsert相当于oralce的merge,匹配到更新,不存在插入</strong></p>
<div class="cnblogs_code">
<pre>db.books.<span style="color: rgba(0, 0, 255, 1)">update</span><span style="color: rgba(0, 0, 0, 1)">(
   { item: "ZZZ135" },   </span><span style="color: rgba(128, 128, 128, 1)">//</span><span style="color: rgba(0, 0, 0, 1)"> Query parameter
   {                     </span><span style="color: rgba(128, 128, 128, 1)">//</span><span style="color: rgba(0, 0, 0, 1)"> Replacement document
   item: "ZZZ135",
   stock: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">5</span><span style="color: rgba(0, 0, 0, 1)">,
   tags: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> "database" </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
   },

   { upsert: true }      </span><span style="color: rgba(128, 128, 128, 1)">//</span><span style="color: rgba(0, 0, 0, 1)"> Options

)</span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212174906917-281886319.png" alt=""></p>
<p>&nbsp;</p>
<p><strong>&nbsp;具体的参数含义,可以去官网查看</strong></p>
<p><strong><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212175642769-1765055367.png" alt=""></strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>我们在集合中插入如下数据:</strong></p>
<div class="cnblogs_code">
<pre>db.inventory.insertMany( <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
   { item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" },
   { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" },
   { item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" },
   { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },
   { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },
   { item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
   { item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },
   { item: "sketchbook", qty: 80, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
   { item: "sketch pad", qty: 95, size: { h: 22.85, w: 30.5, uom: "cm" }, status: "A" }
</span><span style="color: rgba(255, 0, 0, 1)">]</span> );</pre>
</div>
<p>接着我们通过 update() 方法来更新标题(title):</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.inventory.updateOne(
   { item: "paper" },
   {
   $</span><span style="color: rgba(0, 0, 255, 1)">set</span><span style="color: rgba(0, 0, 0, 1)">: { "size.uom": "cm", status: "P" },
   $currentDate: { lastModified: true }
   }
)</span></pre>
</div>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212164038193-1420665526.png" alt=""></p>
<p>&nbsp;</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212164206909-356685574.png" alt=""></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.inventory.updateMany(
   { "qty": { $lt: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">50</span><span style="color: rgba(0, 0, 0, 1)"> } },
   {
   $</span><span style="color: rgba(0, 0, 255, 1)">set</span>: { "size.uom": "<span style="color: rgba(128, 128, 128, 1)">in</span><span style="color: rgba(0, 0, 0, 1)">", status: "P" },
   $currentDate: { lastModified: true }
   }
)</span></pre>
</div>
<p>&nbsp;</p>
<pre class="prettyprint prettyprinted"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="str"><span class="pun"><span class="str"><span class="pun"><span class="pln"><span class="pun"><span class="str"><span class="pun"><span class="str"><span class="pun"><span class="pln">
<img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212171747239-625748927.png" alt=""></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.inventory.replaceOne(
   { item: "paper" },
   { item: "paper", instock: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)"> }
)</span></pre>
</div>
<p>&nbsp;</p>
<pre class="prettyprint prettyprinted"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="pln"><span class="pun"><span class="str"><span class="pun"><span class="str"><span class="pun"><span class="pln"><span class="pun"><span class="str"><span class="pun"><span class="str"><span class="pun"><span class="pln"><span class="typ">&nbsp;<img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212173847411-1253774740.png" alt=""></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<div class="code">
<div>
<div class="article-body">
<div id="content" class="article-intro">
<h1>MongoDB 删除文档</h1>
<p>MongoDB remove()函数是用来移除集合中的数据。</p>
<p>MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。</p>
<h3>语法</h3>
<p>remove() 方法的基本语法格式如下所示:</p>
<pre class="prettyprint prettyprinted"><span class="pln">db<span class="pun">.<span class="pln">collection<span class="pun">.<span class="pln">remove<span class="pun">(<span class="pln">
   <span class="str">&lt;query&gt;<span class="pun">,<span class="pln">
   <span class="str">&lt;justOne&gt;<span class="pln">
<span class="pun">)</span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p>如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:</p>
<pre class="prettyprint prettyprinted"><span class="pln">db<span class="pun">.<span class="pln">collection<span class="pun">.<span class="pln">remove<span class="pun">(<span class="pln">
   <span class="str">&lt;query&gt;<span class="pun">,<span class="pln">
   <span class="pun">{<span class="pln">
   justOne<span class="pun">:<span class="pln"> <span class="str">&lt;boolean&gt;<span class="pun">,<span class="pln">
   writeConcern<span class="pun">:<span class="pln"> <span class="str">&lt;document&gt;<span class="pln">
   <span class="pun">}<span class="pln">
<span class="pun">)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></pre>
<p><strong>参数说明:</strong></p>
<ul>
<li><strong>query&nbsp;</strong>:(可选)删除的文档的条件。</li>
<li><strong>justOne&nbsp;</strong>: (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。</li>
<li><strong>writeConcern&nbsp;</strong>:(可选)抛出异常的级别。</li>
</ul>
<h3>实例</h3>
<div class="cnblogs_code">
<pre>db.products.remove( { qty: { $gt: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">20</span> } } )</pre>
</div>
<p>&nbsp;</p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212223535526-501509431.png" alt=""></p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.products.remove(
    { qty: { $lt: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">20</span><span style="color: rgba(0, 0, 0, 1)"> } },
    { writeConcern: { item: "card", wtimeout: </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">5000</span><span style="color: rgba(0, 0, 0, 1)"> } }
)</span></pre>
</div>
</div>
</div>
<div class="previous-next-links">
<h1>MongoDB 查询文档</h1>
<p><strong>个人感觉查询的用法有点像MybatisPlus的语法</strong></p>
<p><img src="https://img2018.cnblogs.com/i-beta/1829785/201912/1829785-20191212224417618-713917790.png" alt=""></p>
<p>&nbsp;</p>
<p><strong>&nbsp;具体可以看一下官网的例子</strong></p>
<p>MongoDB 查询文档使用 find() 方法。</p>
<p>find() 方法以非结构化的方式来显示所有文档。</p>
<h3>语法</h3>
<p>MongoDB 查询数据的语法格式如下:</p>
<pre class="prettyprint prettyprinted"><span class="pln">db<span class="pun">.<span class="pln">collection<span class="pun">.<span class="pln">find<span class="pun">(<span class="pln">query<span class="pun">,<span class="pln"> projection<span class="pun">)</span></span></span></span></span></span></span></span></span></span></pre>
<ul>
<li><strong>query</strong>&nbsp;:可选,使用查询操作符指定查询条件</li>
<li><strong>projection</strong>&nbsp;:可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。</li>
</ul>
<p>如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:</p>
<pre class="prettyprint prettyprinted"><span class="pun">&gt;<span class="pln">db<span class="pun">.<span class="pln">col<span class="pun">.<span class="pln">find<span class="pun">().<span class="pln">pretty<span class="pun">()</span></span></span></span></span></span></span></span></span></pre>
<p>pretty() 方法以格式化的方式来显示所有文档。</p>
<h3>实例</h3>
<div class="cnblogs_code">
<pre>db.bios.find().sort( { name: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> } ).limit( <span style="color: rgba(128, 0, 0, 1); font-weight: bold">5</span><span style="color: rgba(0, 0, 0, 1)"> )
db.bios.find().limit( </span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">5</span> ).sort( { name: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> } )</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.bios.find(
   { awards: { $elemMatch: { award: "Turing Award", </span><span style="color: rgba(255, 0, 255, 1)">year</span>: { $gt: <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1980</span><span style="color: rgba(0, 0, 0, 1)"> } } } }
)</span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.bios.find( {
   birth: { $gt: new Date(</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">1920-01-01</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">) },
   death: { $</span><span style="color: rgba(128, 128, 128, 1)">exists</span><span style="color: rgba(0, 0, 0, 1)">: false }
} )</span></pre>
</div>
<p>&nbsp;</p>
<p>除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。</p>
<hr>
<h2>findOne条件</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.bios.findOne(
   {
   $</span><span style="color: rgba(128, 128, 128, 1)">or</span>: <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
            { 'name.first' : /^G/ },
            { birth: { $lt: new Date('01/01/1945') } }
          </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
   }
)</span></pre>
</div>
<h3>实例</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.bios.findOne(
   {
   $</span><span style="color: rgba(128, 128, 128, 1)">or</span>: <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">
            { 'name.first' : /^G/ },
            { birth: { $lt: new Date('01/01/1945') } }
          </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
   }
)</span></pre>
</div>
<p>&nbsp;</p>
<hr>
<h2>findAndModify使用</h2>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">db.collection.findAndModify({
    query: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>document<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    sort: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>document<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    remove: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>boolean<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(0, 0, 255, 1)">update</span>: <span style="color: rgba(128, 128, 128, 1)">&lt;</span>document <span style="color: rgba(128, 128, 128, 1)">or</span> aggregation pipeline<span style="color: rgba(128, 128, 128, 1)">&gt;</span>, <span style="color: rgba(128, 128, 128, 1)">//</span> Changed <span style="color: rgba(128, 128, 128, 1)">in</span> MongoDB <span style="color: rgba(128, 0, 0, 1); font-weight: bold">4.2</span><span style="color: rgba(0, 0, 0, 1)">
    new: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>boolean<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    fields: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>document<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    upsert: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>boolean<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    bypassDocumentValidation: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>boolean<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    writeConcern: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>document<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    collation: </span><span style="color: rgba(128, 128, 128, 1)">&lt;</span>document<span style="color: rgba(128, 128, 128, 1)">&gt;</span><span style="color: rgba(0, 0, 0, 1)">,
    arrayFilters: </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)"> &lt;filterdocument1&gt;, ... </span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
});</span></pre>
</div>
<p>&nbsp;</p>
</div>
</div>
<div>&nbsp;</div>
</div><br><br>
来源:https://www.cnblogs.com/dalianpai/p/12030426.html
頁: [1]
查看完整版本: MongoDb的增删改查