江南西北 發表於 2023-6-21 16:57:00

MongoDB 语法大全

<div id="content_views" class="markdown_views prism-atom-one-light">
                  <svg xmlns="http://www.w3.org/2000/svg" style="display: none">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0)"></path>
                  </svg>
                  <p></p>
<div class="toc">
<h3>文章目录</h3>
<ul><li>前言</li><li><ul><li>MongoDB 语法大全</li><li><ul><li>01、mongodb 数据库链接</li><li>02、help查看命令提示</li><li>03、如果数据库存在,则切换到指定的数据库;如果数据库不存在,则创建数据库</li><li>04、查询所有的数据库</li><li>05、查看当前数据库</li><li><ul><li>05::01 查看当前数据库状态</li><li>05::02 查看当前数据库版本</li><li>05::03 查看当前数据库链接机器</li></ul>
    </li><li>06、插入</li><li>07、查询</li><li><ul><li>07::01 查询</li><li>07::02 查询只返回一条数据</li><li>07::03 条件and查询</li><li>07::04 条件or查询</li><li>07::05 条件and 和 or 查询</li><li>07::06 条件操作符查询</li><li>07::07 模糊查询</li><li>07::08 $type 操作符查询</li><li>07::09 去重某列重复数据查询</li><li>07::10、in、not in 查询</li><li>07::11 指定字段返回</li></ul>
    </li><li>08、排序</li><li><ul><li>08::01、升序</li><li>08::02、降序</li></ul>
    </li><li>09、查询前3条数据</li><li>10、查询3条以后数据</li><li>11、分页</li><li>12、查询当前集合总数</li><li>13、删除当前数据库</li><li>14、新建集合</li><li>15、删除集合</li><li>16、获取当前db指定名称的聚集集合</li><li>17、获取当前db所有聚集集合</li><li>18、查询当前集合数量</li><li>19、查询当前集合的数据空间大小</li><li>20、查询当前集合总大小</li><li>21、查询当前集合存储空间大小</li><li>22、集合重命名</li><li>23、查询当前集合所在数据库</li><li>24、插入语法</li><li>25、修改</li><li><ul><li>25::01、修改集合中现有的文档</li><li>25::02、根据过滤器更新集合中的单个文档</li><li>25::03、更新与集合指定的筛选器匹配的所有文档</li></ul>
    </li><li>26、删除</li><li>27、for循环</li><li>28、新建普通,复合,唯一索引、查询,删除索引</li><li>29、添加用户</li></ul>
</li></ul>
</li></ul>
</div>
<p></p>
<h1>前言</h1>
<p>  如果您觉得有用的话,记得给<font color="#cc0d1f" face="微软雅黑"><strong>博主点个赞,评论,收藏一键三连啊</strong></font>,写作不易啊^ _ ^。<br>   而且听说<font color="#0099ff" face="微软雅黑"><strong>点赞的人每天的运气都不会太差</strong></font>,实在白嫖的话,那欢迎常来啊!!!</p>
<hr color="#000000" size="1&quot;">
<h2>MongoDB 语法大全</h2>
<h3>01、mongodb 数据库链接</h3>
<p>格式:mongodb:// <mark>host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[?options]]</mark></p>
<p>其中<mark>mongodb://</mark> 是必须要有的。<br> <font color="#cc0d1f" face="微软雅黑"><strong>username:password@ :</strong></font> -可选项 如果设置,链接数据库服务后会尝试登录该数据库<br> <font color="#cc0d1f" face="微软雅黑"><strong>database :</strong></font>-可选项 如果指定username:password@ 链接验证指定数据库,不指定链接test数据库<br> <font color="#cc0d1f" face="微软雅黑"><strong>options :</strong></font>链接选项,如果不使用database 前面需加上/,所有链接选项都是键值对name=value,多个选项时,以&amp;或;分隔。</p>
<h3>02、help查看命令提示</h3>
<pre data-index="0" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">help<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.help<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.新建集合.help<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
例子:db.yangzhenyu.help<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/0833c8afe6ed4a70bbacb0c9e6890bb3.png" alt="在这里插入图片描述"></p>
<h3>03、如果数据库存在,则切换到指定的数据库;如果数据库不存在,则创建数据库</h3>
<pre data-index="1" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">use 数据库名<span class="token punctuation">;</span>
use yangzhenyu
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/7c48587544504686b8d2f4092cf774d2.png" alt="在这里插入图片描述"></p>
<h3>04、查询所有的数据库</h3>
<pre data-index="2" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">// 01 插入一条数据,否则show dbs<span class="token punctuation">;</span>不显示
db.yangzhenyu.insert<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"hello world!!!"</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
// 02 查询所有数据库
show dbs<span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/7d99e324de30404e84c73d2e705a3104.png" alt="在这里插入图片描述"></p>
<h3>05、查看当前数据库</h3>
<pre data-index="3" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db<span class="token punctuation">;</span>或者 db.getName<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/c0357e3e754d4173814bf460bad06f72.png" alt="在这里插入图片描述"></p>
<h4>05::01 查看当前数据库状态</h4>
<pre data-index="4" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.stats<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/06de43a50be74b4399a4fe6660c8aa9a.png" alt="在这里插入图片描述"></p>
<h4>05::02 查看当前数据库版本</h4>
<pre data-index="5" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.version<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/0b31f58862494334ba692ec6ba510643.png" alt="在这里插入图片描述"></p>
<h4>05::03 查看当前数据库链接机器</h4>
<pre data-index="6" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.getMongo<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/8b2491215766444f82c91056894c0184.png" alt="在这里插入图片描述"></p>
<h3>06、插入</h3>
<pre data-index="7" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.insert<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
在mongoDB中,不需要主动创建集合,当你插入文档时会自动创建
db.yangzhenyu.insert<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"xxx"</span><span class="token builtin class-name">:</span><span class="token string">"yang"</span>,<span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span>,<span class="token string">"yyy"</span><span class="token builtin class-name">:</span><span class="token string">"zhenyu"</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/96c789820f184464918f942a3b12a5e0.png" alt="在这里插入图片描述"></p>
<h3>07、查询</h3>
<h4>07::01 查询</h4>
<pre data-index="8" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.find<span class="token punctuation">(</span><span class="token punctuation">)</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/179ad3a1e6a84008bb1690bb9f027f11.png" alt="在这里插入图片描述"></p>
<h4>07::02 查询只返回一条数据</h4>
<pre data-index="9" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.findOne<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yangzhenyu.findOne<span class="token punctuation">(</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/4cce3b7983c442d99d7c303d2e4d4f7f.png" alt="在这里插入图片描述"></p>
<h4>07::03 条件and查询</h4>
<pre data-index="10" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"key1"</span><span class="token builtin class-name">:</span><span class="token string">"name1"</span>,<span class="token string">"key2"</span>,<span class="token string">"name2"</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"xxx"</span><span class="token builtin class-name">:</span><span class="token string">"yang"</span>,<span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/b70f88943ae74bf7a1a5350584dc60e3.png" alt="在这里插入图片描述"></p>
<h4>07::04 条件or查询</h4>
<pre data-index="11" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
   <span class="token variable">$or</span>:<span class="token punctuation">[</span>
      <span class="token punctuation">{</span><span class="token string">"key1"</span><span class="token builtin class-name">:</span><span class="token string">"name1"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token string">"key2"</span><span class="token builtin class-name">:</span><span class="token string">"name2"</span><span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span>
<p>db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span><br>
<span class="token variable">$or</span>:<span class="token punctuation">[</span><br>
<span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"hello world!!!"</span><span class="token punctuation">}</span>, <span class="token punctuation">{</span><span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span><span class="token punctuation">}</span><br>
<span class="token punctuation">]</span><br>
<span class="token punctuation">}</span><span class="token punctuation">)</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li><li style="color: rgba(153, 153, 153, 1)">11</li><li style="color: rgba(153, 153, 153, 1)">12</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/a5f95bf6097c48ca80e74848abf91d6a.png" alt="在这里插入图片描述"></p>
<h4>07::05 条件and 和 or 查询</h4>
<pre data-index="12" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
   <span class="token string">"key0"</span><span class="token builtin class-name">:</span><span class="token string">"name0"</span>,
   <span class="token variable">$or</span>:<span class="token punctuation">[</span>
      <span class="token punctuation">{</span><span class="token string">"key1"</span><span class="token builtin class-name">:</span><span class="token string">"name1"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token string">"key2"</span><span class="token builtin class-name">:</span><span class="token string">"name2"</span><span class="token punctuation">}</span>
   <span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span>
相当于: <span class="token assign-left variable">key0</span><span class="token operator">=</span>name0 and <span class="token punctuation">(</span>key1<span class="token operator">=</span>name1 or <span class="token assign-left variable">key2</span><span class="token operator">=</span>name2<span class="token punctuation">)</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span>,
<span class="token variable">$or</span>:<span class="token punctuation">[</span>
<span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"hello world!!!"</span><span class="token punctuation">}</span>, <span class="token punctuation">{</span><span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span><span class="token punctuation">}</span>
<span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li><li style="color: rgba(153, 153, 153, 1)">11</li><li style="color: rgba(153, 153, 153, 1)">12</li><li style="color: rgba(153, 153, 153, 1)">13</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/c1de7624607f4079bf9170f172be18e0.png" alt="在这里插入图片描述"></p>
<h4>07::06 条件操作符查询</h4>
<div class="table-box"><table><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>&gt;</td><td>大于</td><td>$gt</td></tr><tr><td>&lt;</td><td>小于</td><td>$lt</td></tr><tr><td>&gt;=</td><td>大于等于</td><td>$gte</td></tr><tr><td>&lt;=</td><td>小于等于</td><td>$lte</td></tr><tr><td>!=</td><td>不等于</td><td>$ne</td></tr></tbody></table></div>
<pre data-index="13" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token string">"age"</span>:<span class="token punctuation">{</span><span class="token variable">$gt</span><span class="token builtin class-name">:</span><span class="token string">"26"</span><span class="token punctuation">}</span>
<p><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/0606f9676cb145a5a4fa140cabc92472.png" alt="在这里插入图片描述"></p>
<h4>07::07 模糊查询</h4>
<pre data-index="14" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"字段"</span>:/查询内容/<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<p>// 模糊查询-包含2<br>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span><br>
<span class="token string">"age"</span>:/2/<br>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/f513bbd76dea417ebc8ed267085280e7.png" alt="在这里插入图片描述"></p>
<pre data-index="15" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">// 模糊查询-以2开头
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token string">"age"</span>:/^2/
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/0da7c602125f405aa98aaa03df600c97.png" alt="在这里插入图片描述"></p>
<pre data-index="16" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//模糊查询-小写kul
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token string">"yyy"</span>:/kul/
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/a8605438a73c4db495e6333e9bbd7b86.png" alt="在这里插入图片描述"></p>
<pre data-index="17" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//模糊查询-忽略大小写
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
<span class="token string">"yyy"</span>:/kul/i
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/3a7b1dfb55b0477f91982933ae40f414.png" alt="在这里插入图片描述"></p>
<h4>07::08 $type 操作符查询</h4>
<pre data-index="18" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token variable">$type</span>操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果
准备:
创建集合typeTest,并插入两条数据
db.typeTest.insert<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"yangzhenyu"</span>,<span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.typeTest.insert<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"yangzhenyu"</span>,<span class="token string">"age"</span>:27<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
查询:
db.typeTest.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/c6d0d145941a40a3a60808ecd2d99303.png" alt="在这里插入图片描述"></p>
<pre data-index="19" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询age字段为String的数据
db.yzyTest.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"age"</span>:<span class="token punctuation">{</span>
<span class="token variable">$type</span><span class="token builtin class-name">:</span><span class="token string">'string'</span>
<span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/b14bb450104b4e748e1114fc0a94d6a3.png" alt="在这里插入图片描述"></p>
<pre data-index="20" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询age字段为int的数据
db.typeTest.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"age"</span>:<span class="token punctuation">{</span>
<span class="token variable">$type</span><span class="token builtin class-name">:</span><span class="token string">'int'</span>
<span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/638aef0dce7d4d08889ff8bcc0820515.png" alt="在这里插入图片描述"></p>
<h4>07::09 去重某列重复数据查询</h4>
<pre data-index="21" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/182078968a7b4a4c9dfdf3022e109677.png" alt="在这里插入图片描述"></p>
<pre data-index="22" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">age字段 去重查询:
db.yangzhenyu.distinct<span class="token punctuation">(</span><span class="token string">"age"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/214d0839e6c74159aa1be2596a776a84.png" alt="在这里插入图片描述"></p>
<h4>07::10、in、not in 查询</h4>
<pre data-index="23" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">in查询:
db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
_id:<span class="token punctuation">{</span><span class="token variable">$in</span>:<span class="token punctuation">[</span><span class="token string">"no1"</span>,<span class="token string">"no2"</span><span class="token punctuation">]</span><span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
not <span class="token keyword">in</span> 查询
db.集合.find<span class="token punctuation">(</span><span class="token punctuation">{</span>
_id:<span class="token punctuation">{</span><span class="token variable">$nin</span>:<span class="token punctuation">[</span><span class="token string">"no1"</span><span class="token punctuation">]</span><span class="token punctuation">}</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li></ul></pre>
<h4>07::11 指定字段返回</h4>
<pre data-index="24" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span>name:1<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.集合.find<span class="token punctuation">(</span>
query,
projection
<span class="token punctuation">)</span>
projection: 指定返回字段
格式: <span class="token punctuation">{</span>字段1:1,字段2:1<span class="token punctuation">}</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/79afe5d84f8340fdb779873e15041fd7.png" alt="在这里插入图片描述"></p>
<h3>08、排序</h3>
<h4>08::01、升序</h4>
<pre data-index="25" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.sort<span class="token punctuation">(</span><span class="token punctuation">{</span>字段名:1<span class="token punctuation">}</span><span class="token punctuation">)</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.sort<span class="token punctuation">(</span><span class="token punctuation">{</span>age:1<span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/d617a37af1d842ad92cfb25307ccf917.png" alt="在这里插入图片描述"></p>
<h4>08::02、降序</h4>
<pre data-index="26" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.sort<span class="token punctuation">(</span><span class="token punctuation">{</span>字段名:-1<span class="token punctuation">}</span><span class="token punctuation">)</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.sort<span class="token punctuation">(</span><span class="token punctuation">{</span>age:-1<span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/c9acbfceebb64b469403ebe244e20a6f.png" alt="在这里插入图片描述"></p>
<h3>09、查询前3条数据</h3>
<pre data-index="27" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.limit<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.limit<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/bcf9099a6928409da2ac0c7e7181a9ef.png" alt="在这里插入图片描述"></p>
<h3>10、查询3条以后数据</h3>
<pre data-index="28" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.skip<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.skip<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/2eac72cf4ab94b5c95154d53e032c60c.png" alt="在这里插入图片描述"></p>
<h3>11、分页</h3>
<pre data-index="29" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.limit<span class="token punctuation">(</span>pagesize<span class="token punctuation">)</span>.skip<span class="token punctuation">(</span>第几页的pagesize<span class="token punctuation">)</span><span class="token punctuation">;</span>
//limit相当于pagesize skip相当于第几页的pagesize
<span class="token number">1</span>-3
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.limit<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span>.skip<span class="token punctuation">(</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/ec303ec569524a7d8d410ebb0657d193.png" alt="在这里插入图片描述"></p>
<pre data-index="30" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token number">3</span>-6
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.limit<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span>.skip<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/09a1cd8d03144bbcac38c849a52f875d.png" alt="在这里插入图片描述"></p>
<pre data-index="31" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset"><span class="token number">6</span>-9
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.limit<span class="token punctuation">(</span><span class="token number">3</span><span class="token punctuation">)</span>.skip<span class="token punctuation">(</span><span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/f0ef2dcef0084f81bc61a490b05ece6f.png" alt="在这里插入图片描述"><br> 相当于mysql的limit函数</p>
<h3>12、查询当前集合总数</h3>
<pre data-index="32" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">查询集合.count<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yangzhenyu.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.count<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/5d7ec70e6ec94f17848878136348c60b.png" alt="在这里插入图片描述"></p>
<h3>13、删除当前数据库</h3>
<pre data-index="33" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.dropDatabase<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<h3>14、新建集合</h3>
<pre data-index="34" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//创建固定集合
db.createCollection<span class="token punctuation">(</span><span class="token string">"yzyTest"</span>,<span class="token punctuation">{</span>
capped:true,size:6142800,max:1000
<p><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span><br>
capped - 如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值,会自动覆盖最早的文档,当值为true时,必须指定size参数。<br>
size - 为固定集合指定一个最大值,即字节数。<br>
max - 指定固定集合中包含文档的最大数量。<br>
注:在插入文档时,mongoDB首先检查固定集合的size字段,然后检查max字段。<br>
//查看已有集合<br>
show collections<span class="token punctuation">;</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li><li style="color: rgba(153, 153, 153, 1)">11</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/9900a4746f8e4485b85247e48731d598.png" alt="在这里插入图片描述"></p>
<pre data-index="35" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//在mongoDB中,不需要主动创建,当你插入文档时会自动创建
db.yzyTest1.insert<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span><span class="token builtin class-name">:</span><span class="token string">"yangzhenyu"</span>,<span class="token string">"age"</span><span class="token builtin class-name">:</span><span class="token string">"27"</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
//查看已有集合
show collections<span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/3111bd62f9ea4b47b4c770d33c4cf159.png" alt="在这里插入图片描述"></p>
<h3>15、删除集合</h3>
<pre data-index="36" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.drop<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yzyTest1.drop<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
//查看已有集合
show collections<span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/24412d7ae63546b0a1116481a5c4e929.png" alt="在这里插入图片描述"></p>
<h3>16、获取当前db指定名称的聚集集合</h3>
<pre data-index="37" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.getCollection<span class="token punctuation">(</span><span class="token string">"yzyTest"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/374377294030447c97f023848efcc1fd.png" alt="在这里插入图片描述"></p>
<h3>17、获取当前db所有聚集集合</h3>
<pre data-index="38" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.getCollectionNames<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/3b9d90557ce940049db5c7a865622bdf.png" alt="在这里插入图片描述"></p>
<h3>18、查询当前集合数量</h3>
<pre data-index="39" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyTest.count<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/9fb2d854a19c4538a855900277399891.png" alt="在这里插入图片描述"></p>
<h3>19、查询当前集合的数据空间大小</h3>
<pre data-index="40" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyTest.dataSize<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/064de0bec65d483e98f026f3892f7d5f.png" alt="在这里插入图片描述"></p>
<h3>20、查询当前集合总大小</h3>
<pre data-index="41" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyTest.totalSize<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/4a98208e90be4fd68ba6c972009f6fbe.png" alt="在这里插入图片描述"></p>
<h3>21、查询当前集合存储空间大小</h3>
<pre data-index="42" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyTest.storageSize<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/4fc2b9e3395d4b7f91de24d3291c312d.png" alt="在这里插入图片描述"></p>
<h3>22、集合重命名</h3>
<pre data-index="43" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyTest.renameCollection<span class="token punctuation">(</span><span class="token string">"yzyRenameTest"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/797a1e777ac8452a827312c120f7d3db.png" alt="在这里插入图片描述"></p>
<pre data-index="44" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">show collections<span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/32bf2cc411f7468b8fd364679b7420d2.png" alt="在这里插入图片描述"></p>
<h3>23、查询当前集合所在数据库</h3>
<pre data-index="45" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzyRenameTest.getDB<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/4374cfb0553e48fe90caef1ae7a65b0d.png" alt="在这里插入图片描述"></p>
<h3>24、插入语法</h3>
<pre data-index="46" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//插入一条数据
db.集合.insertOne<span class="token punctuation">(</span><span class="token punctuation">{</span>_id:<span class="token string">"01"</span>,name:<span class="token string">"yang"</span>,age:<span class="token string">"12"</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
//插入多条
db.集合.insertMany<span class="token punctuation">(</span><span class="token punctuation">[</span><span class="token punctuation">{</span>_id:<span class="token string">"02"</span>,name:<span class="token string">"yang"</span>,age:<span class="token string">"12"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span>_id:<span class="token string">"03"</span>,name:<span class="token string">"yang"</span>,age:<span class="token string">"12"</span><span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li></ul></pre>
<h3>25、修改</h3>
<h4>25::01、修改集合中现有的文档</h4>
<pre data-index="47" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.集合.update<span class="token punctuation">(</span>
<span class="token operator">&lt;</span>query<span class="token operator">&gt;</span>,
<span class="token operator">&lt;</span>update<span class="token operator">&gt;</span>
<span class="token punctuation">)</span>
query:update的查询条件,即where后的语句条件<span class="token punctuation">;</span>
update<span class="token builtin class-name">:</span> 更新值,也可理解为sql update中set后面的语句<span class="token punctuation">;</span>
注:默认只更新找到的第一条;
<p>例子:<br>
db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/a9a992cd537e453bbb3eb22bdd458c34.png" alt="在这里插入图片描述"></p>
<pre data-index="48" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//只更新找到的第一条
db.yzy.update<span class="token punctuation">(</span><span class="token punctuation">{</span>age:<span class="token string">"12"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token variable">$set</span>:<span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/5dfa40b620c24779856a2f3a214d6c64.png" alt="在这里插入图片描述"></p>
<h4>25::02、根据过滤器更新集合中的单个文档</h4>
<p>实例:<br> db.yzy.find();<br> <img src="https://img-blog.csdnimg.cn/4cdd6a7d4457445b9d56c99b154ef355.png" alt="在这里插入图片描述"></p>
<pre data-index="49" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzy.updateOne<span class="token punctuation">(</span><span class="token punctuation">{</span>age:<span class="token string">"12"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token variable">$set</span>:<span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/02901778e54242e4b3cec2080ec08899.png" alt="在这里插入图片描述"></p>
<h4>25::03、更新与集合指定的筛选器匹配的所有文档</h4>
<pre data-index="50" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/9dbfe9d90705403a8706825e07a84ffb.png" alt="在这里插入图片描述"></p>
<pre data-index="51" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzy.updateMany<span class="token punctuation">(</span><span class="token punctuation">{</span>age:<span class="token string">"12"</span><span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token variable">$set</span>:<span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/59656ba7112e41d3a0bccaea3b6debff.png" alt="在这里插入图片描述"></p>
<h3>26、删除</h3>
<pre data-index="52" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">从集合中删除单个文档
db.yzy.deleteOne<span class="token punctuation">(</span><span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/dd40d4cf088841eb8382652cd729ca4d.png" alt="在这里插入图片描述"></p>
<pre data-index="53" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">从集合中删除与筛选器匹配的所有文档
db.yzy.deleteMany<span class="token punctuation">(</span><span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li></ul></pre>
<p><img src="https://img-blog.csdnimg.cn/6c0b8abdff304943b94bfc9c7bfa9478.png" alt="在这里插入图片描述"></p>
<h3>27、for循环</h3>
<pre data-index="54" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.yzy.find<span class="token punctuation">(</span><span class="token punctuation">)</span>.forEach<span class="token punctuation">(</span>
    function<span class="token punctuation">(</span>item<span class="token punctuation">)</span><span class="token punctuation">{</span>
      if<span class="token punctuation">(</span>item.age <span class="token operator">&gt;=</span> <span class="token number">12</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
         db.yzy.updateOne<span class="token punctuation">(</span><span class="token punctuation">{</span>age:item.age<span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token variable">$set</span>:<span class="token punctuation">{</span>age:<span class="token string">"13"</span><span class="token punctuation">}</span><span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
      <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">)</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li></ul></pre>
<h3>28、新建普通,复合,唯一索引、查询,删除索引</h3>
<pre data-index="55" class="set-code-hide prettyprint"><code class="prism language-bash has-numbering" style="position: unset">//查询当前db所有聚集索引
db.printCollectionStats<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
//创建普通索引
//db.集合.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span>字段名:1<span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token number">1</span>表示升序、-1表示降序 升序、降序对单索引没有影响,对复合索引有影响
db.yzy.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span>:1<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<p>//创建复合索引<br>
//db.集合.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span>字段1名:1,字段2名:1<span class="token punctuation">}</span><span class="token punctuation">)</span><br>
db.yzy.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span>:1,<span class="token string">"age"</span>:1<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<p>//创建唯一索引<br>
//db.集合.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span>字段名:1<span class="token punctuation">}</span><span class="token punctuation">)</span> <span class="token number">1</span>表示升序、-1表示降序<br>
db.yzy.ensureIndex<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"age"</span>:1<span class="token punctuation">}</span>,<span class="token punctuation">{</span><span class="token string">"unique"</span>:true<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<p>//删除索引<br>
//db.集合.dropIndex<span class="token punctuation">(</span><span class="token punctuation">{</span>字段名:1<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span><br>
db.yzy.dropIndex<span class="token punctuation">(</span><span class="token punctuation">{</span><span class="token string">"name"</span>:1<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<p>//查询当前集合所有索引<br>
//db.集合.getIndexes<span class="token punctuation">(</span><span class="token punctuation">)</span><br>
db.yzy.getIndexes<span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<div class="hljs-button {2}" data-title="复制"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7365&quot;}"><img class="look-more-preCode contentImg-no-view" src="https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li><li style="color: rgba(153, 153, 153, 1)">6</li><li style="color: rgba(153, 153, 153, 1)">7</li><li style="color: rgba(153, 153, 153, 1)">8</li><li style="color: rgba(153, 153, 153, 1)">9</li><li style="color: rgba(153, 153, 153, 1)">10</li><li style="color: rgba(153, 153, 153, 1)">11</li><li style="color: rgba(153, 153, 153, 1)">12</li><li style="color: rgba(153, 153, 153, 1)">13</li><li style="color: rgba(153, 153, 153, 1)">14</li><li style="color: rgba(153, 153, 153, 1)">15</li><li style="color: rgba(153, 153, 153, 1)">16</li><li style="color: rgba(153, 153, 153, 1)">17</li><li style="color: rgba(153, 153, 153, 1)">18</li><li style="color: rgba(153, 153, 153, 1)">19</li><li style="color: rgba(153, 153, 153, 1)">20</li><li style="color: rgba(153, 153, 153, 1)">21</li></ul></pre>
<h3>29、添加用户</h3>
<pre data-index="56" class="prettyprint"><code class="prism language-bash has-numbering" style="position: unset">db.createUser<span class="token punctuation">(</span> <span class="token punctuation">{</span>
        user: <span class="token string">"sa"</span>,
        pwd: <span class="token string">"sa"</span>,
        roles: <span class="token punctuation">[</span> <span class="token punctuation">{</span> role: <span class="token string">"root"</span>, db: <span class="token string">"admin"</span> <span class="token punctuation">}</span> <span class="token punctuation">]</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<div class="hljs-button {2}" data-title="复制"></div></code><ul class="pre-numbering" style=""><li style="color: rgba(153, 153, 153, 1)">1</li><li style="color: rgba(153, 153, 153, 1)">2</li><li style="color: rgba(153, 153, 153, 1)">3</li><li style="color: rgba(153, 153, 153, 1)">4</li><li style="color: rgba(153, 153, 153, 1)">5</li></ul></pre>
                </div><br><br>
来源:https://www.cnblogs.com/duende99/p/17496695.html
頁: [1]
查看完整版本: MongoDB 语法大全