• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mongodb高级操作(1)-update

mysql 搞代码 4年前 (2022-01-09) 11次浏览 已收录 0个评论

前面我们已经介绍了mongodb的基本操作:mongodb基本操作下面是介绍一些高级的增删改查操作. 1.更新文档 文档替换 最简单的方法就是文档完全替换,如下就是一个完全替换的例子,先把需要更新的文档找出来并且赋,然后修改所赋的,最后再进行update: a1 = db . test

前面我们已经介绍了mongodb的基本操作:mongodb基本操作下面是介绍一些高级的增删改查操作.

1.更新文档

文档替换

最简单的方法就是文档完全替换,如下就是一个完全替换的例子,先把需要更新的文档找出来并且赋值,然后修改所赋的值,最后再进行update:

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> a1</span><span class="pun">=</span><span class="pln">db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">findOne</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"5738785d132e1e47e535a177"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"x"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">3.14</span><span class="pun">,</span><span class="pln"> </span><span class="str">"y"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">5.5</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> a1</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"5738785d132e1e47e535a177"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"x"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">3.14</span><span class="pun">,</span><span class="pln"> </span><span class="str">"y"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">5.5</span><span class="pln"> </span><span class="pun"><div>本文来源gaodai.ma#com搞##代!^码@网3</div>}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> </span><span class="kwd">delete</span><span class="pln"> a1</span><span class="pun">.</span><span class="pln">x</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="kwd">true</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> a1</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"5738785d132e1e47e535a177"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"y"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">5.5</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> a1</span><span class="pun">.</span><span class="pln">content</span><span class="pun">={</span><span class="pln">name</span><span class="pun">:</span><span class="str">'job'</span><span class="pun">,</span><span class="pln">age</span><span class="pun">:</span><span class="lit">11</span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"job"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> a1</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">	</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"5738785d132e1e47e535a177"</span><span class="pun">),</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">	</span><span class="str">"y"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">5.5</span><span class="pun">,</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">	</span><span class="str">"content"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">		</span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"job"</span><span class="pun">,</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">		</span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">11</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pln">	</span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"5738785d132e1e47e535a177"</span><span class="pun">)},</span><span class="pln">a1</span><span class="pun">)</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></code>

使用修改器

通常文档只会有一部分需要更新,可以使用原子性的更新修改器对指定文档中的某些键进行更新

“$set”修改器

“$set”修改器用来指定一个字段的值,如果这个字段不存在则创建它,例如先给test表添加一个phone属性:

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> </span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> <strong>db</strong></span><strong><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">)},{</span><span class="str">"$set"</span><span class="pun">:{</span><span class="pln">phone</span><span class="pun">:</span><span class="lit">666</span><span class="pun">}})</span></strong></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><strong><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></strong></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><strong><span class="pun">></span></strong></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">666</span><span class="pln"> </span><span class="pun">}</span></code>

然后用修改器再将phone该为888

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><strong><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">)},{</span><span class="str">"$set"</span><span class="pun">:{</span><span class="pln">phone</span><span class="pun">:</span><span class="lit">888</span><span class="pun">}})</span></strong></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">888</span><span class="pln"> </span><span class="pun">}</span></code>

使用”$set”修改器还可以修改字段的属性,例如可以把phone改成一个数组,还可以用“$unset”将键完全删除:

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"> </code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">)},{</span><span class="str">"$unset"</span><span class="pun">:{</span><span class="pln">phone</span><span class="pun">:</span><span class="lit">888</span><span class="pun">}})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code>

使用”$set”修改内嵌文档:

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"57395fa85f74882a9bfa2d9f"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">888</span><span class="pun">,</span><span class="pln"> </span><span class="str">"address"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"abc"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> <strong>db</strong></span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal;font-weight:bold">ObjectId</span><span class="pun">(</span><span class="str">"57395fa85f74882a9bfa2d9f"</span><span class="pun">)},{</span><span class="str">"$set"</span><span class="pun">:{</span><span class="str"><strong><span style="color:#ff00ff">"id.phone"</span></strong></span><span class="pun">:</span><span class="lit">666</span><span class="pun">}})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><strong><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></strong></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"57395fa85f74882a9bfa2d9f"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">666</span><span class="pun">,</span><span class="pln"> </span><span class="str">"address"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"abc"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span></code>

“$inc”增加和减少

“$inc”修改器用来增加和减少已有键的值,只能用于整形,长整形或者双精度浮点型的值,用在其它类型的值上面会报错.对于不存在的键,像”$set”那样也会自动创建相应的键,并且值为给定的值例如我们用”$inc”修改器给age值+1,原来是30,现在变成了31

<code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit"><span style="color:#ff00ff"><strong>30</strong></span></span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"57395fa85f74882a9bfa2d9f"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">666</span><span class="pun">,</span><span class="pln"> </span><span class="str">"address"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"abc"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">update</span><span class="pun">({</span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">)},{</span><span class="str">"$inc"</span><span class="pun">:{</span><span class="pln">age</span><span class="pun">:</span><span class="lit">1</span><span class="pun">}})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="typ" style="color:teal">WriteResult</span><span class="pun">({</span><span class="pln"> </span><span class="str">"nMatched"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nUpserted"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"nModified"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">})</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">></span><span class="pln"> db</span><span class="pun">.</span><span class="pln">test</span><span class="pun">.</span><span class="pln">find</span><span class="pun">()</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"573957c55f74882a9bfa2d9e"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"name"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"brent"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"age"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit"><span style="color:#ff00ff"><strong>31</strong></span></span><span class="pun">,</span><span class="pln"> </span><span class="str">"email"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"[email protected]"</span><span class="pln"> </span><span class="pun">}</span></code><code class="language-js" style="margin:8px 0px;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace"><span class="pun">{</span><span class="pln"> </span><span class="str">"_id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ" style="color:teal">ObjectId</span><span class="pun">(</span><span class="str">"57395fa85f74882a9bfa2d9f"</span><span class="pun">),</span><span class="pln"> </span><span class="str">"id"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">"phone"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">666</span><span class="pun">,</span><span class="pln"> </span><span class="str">"address"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"abc"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">}</span></code>

如果要减少,则将age:1里的1改成-1

“$push”数组修改器-添加元素

如果数组已经存在,那么”$push”会向已有的数组末尾添加一个元素,如果没有就创建一个新的数组 ,下面这个例子会创建一个表示comments的数组:

<code class="language-j


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mongodb高级操作(1)-update

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址