MongoDB插入数据的3种方法
<div id="content"><div id="post_detail">
<div class="post">
<h2> </h2>
<div class="postbody">
<div id="cnblogs_post_body" class="blogpost-body cnblogs-markdown">
<h2 id="insert方法:">insert()方法:</h2>
<p>下面是在inventory集合中插入一个三个字段的文档:</p>
<pre><code class="language-javasctipt">db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )
</code></pre>
<p>在示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一。</p>
<h2 id="update方法:">update()方法:</h2>
<p>调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件的文档时。下面的例子当inventory集合中没有包含{type:"books",item:"journal"}的文档时创建一个新文档:</p>
<pre><code class="hljs less"><span class="hljs-selector-tag">db</span><span class="hljs-selector-class">.inventory</span><span class="hljs-selector-class">.update</span>(
{ <span class="hljs-attribute">type</span>: <span class="hljs-string">"book"</span>, <span class="hljs-attribute">item </span>: <span class="hljs-string">"journal"</span> },
{ $<span class="hljs-attribute">set </span>: { <span class="hljs-attribute">qty</span>: <span class="hljs-number">10</span> } },
{ <span class="hljs-attribute">upsert </span>:true }
)
</code></pre>
<p>MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。新文档包含来自查询条件的item和type字段,和来自更新参数的qty字段:</p>
<pre><code class="hljs json">{ <span class="hljs-attr">"_id"</span> : ObjectId(<span class="hljs-string">"51e8636953dbe31d5f34a38a"</span>), <span class="hljs-attr">"item"</span> : <span class="hljs-string">"journal"</span>, <span class="hljs-attr">"qty"</span> : <span class="hljs-number">10</span>, <span class="hljs-attr">"type"</span> : <span class="hljs-string">"book"</span> }
</code></pre>
<h2 id="save方法">save()方法:</h2>
<p>使用save()方法插入一个文档,通过该方法保存一个不包含_id字段的文档或者包含_id字段但该字段值不存在集合中的文档。下面的示例创建一个新的文档在inventory集合:</p>
<pre><code class="hljs css"><span class="hljs-selector-tag">db</span><span class="hljs-selector-class">.inventory</span><span class="hljs-selector-class">.save</span>( { <span class="hljs-attribute">type</span>: <span class="hljs-string">"book"</span>, item: <span class="hljs-string">"notebook"</span>, qty: <span class="hljs-number">40</span> } )
</code></pre>
<p>MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。</p>
<pre><code class="hljs json">{ <span class="hljs-attr">"_id"</span> : ObjectId(<span class="hljs-string">"51e866e48737f72b32ae4fbc"</span>), <span class="hljs-attr">"type"</span> : <span class="hljs-string">"book"</span>, <span class="hljs-attr">"item"</span> : <span class="hljs-string">"notebook"</span>, <span class="hljs-attr">"qty"</span> : <span class="hljs-number">40</span> }
</code></pre>
<blockquote>
<p>当在使用save方法时,插入不指定_id时,会自动生成一个。<br>
Insert和Save的区别是:如果插入的集合的“_id”值,在集合中已经存在,用Insert执行插入操作会报异常,已经存在"_id"的键。用Save如果系统中没有相同的"_id"就执行插入操作,有的话就执行覆盖掉原来的值。相当于修改操作。</p>
</blockquote>
<p> </p>
</div>
</div>
</div>
</div>
</div><br><br>
来源:https://www.cnblogs.com/xiaoyuxixi/p/13803087.html
頁:
[1]