2025年mongodb数据库怎么用(mongodb database)

mongodb数据库怎么用(mongodb database)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <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> 

讯享网

语法:

use DATABASE NAME

use:用于切换/创建数据库,若不存在则创建,否则切换到指定数据库。
DATABASE_NAME:数据库名称。
执行use articledb命令,创建数据库articledb。

语法: 查看全部数据库

show dbs

或者查看当前数据库,需要先切换到指定数据库

db

语法

db.dropDatabase()

db:表示当前数据库对象。
dropDatabase():用于删除当前数据库的方法。
删除当前数据库,执行命令前应使用use命令切换到要删除的数据库,为了防止误删可执行命令db验证当前数据库是否为指定删除的数据库。

语法

显示创建
db.createCollection(COLLECTION NAME, [OPTIONS])
隐式创建
db.COLLECTION NAME.insert(DOCUMENT)


  • db:表示当前数据库对象。
  • createCollection():创建集合方法。
  • DOCUMENT表示文档。
  • COLLECTION_NAME表示集合名称。
  • OPTIONS表示集合配置。
  • insert():向集合中插入文档的方法。

语法


讯享网

db.COLLECTION NAME.drop()

  • db:表示当前数据库对象。
  • COLLECTION_NAME:表示集合名称。
  • drop():删除集合方法。

语法(单文档插入)

db.COLLECTION NAME.insert(document)

或者

db.COLLECTION NAME.save(document)

语法(多文档插入)

db.COLLECTION NAME.insertMany([document1,document2,…])

  • db:当前数据库对象
  • COLLECTION_NAME: 当前集合对象。
  • insert() 和save():插入单文档方法。
  • insertMany():插入多文档方法。

insert()和save()方法的区别在于,若使用insert()方法插入文档时,集合中已存在该文档,则会报错。若使用save()方法插入文档时,集合中已存在该文档,则会覆盖。

语法

db.COLLECTION NAME.update(criteria,objNew,upsert, multi)

  • db:当前数据库对象。
  • COLLECTION_NAME: 当前集合对象。
  • update():更新文档方法。
  • criteria: 更新的查询条件,类似sql中的where。
  • objNew:新的对象和操作符,类似sql中的set。
  • upsert:不存在更新对象时,是否插入,默认为false
  • multi:默认为false,只更新查找到的第一个文档,反之更新所有。

db.集合名.update(条件, 新数据){修改器: {键:值}}

在这里插入图片描述

语法(删除单个)
在这里插入图片描述

删除全部文档

db.COLLECTION NAME.remove({})

  • db:当前数据库对象。
  • COLLECTION_NAME:当前集合对象。
  • remove():删除文档方法。
  • query:删除文档的条件,可选参数。
  • justOne:的boolean为true或1时,表示只删除查询出的第一个文档。
  • writeConcern: 表示抛出异常级别。

查询所有文档语法

db.COLLECTION NAME.find()

查询所有文档,以易读的方式展示

db.COLLECTION NAME.find().pretty()

  • db:当前数据库对象
  • COLLECTION_NAME:当前集合对象
  • find():查询所有文档方法
  • pretty():格式化查询返回结果

聚合管道操作是将文档在一个管道处理完毕后,把处理的结果传递给下一个管道进行再次处理。聚合管道是使用不同的管道阶段操作器进行不同聚合操作,管道阶段操作器也可称为管道操作符,常见管道操作符如下表。
在这里插入图片描述

在这里插入图片描述
其中“[]”不是必须的,可以省略!!!

管道阶段操作器的值被称为管道表达式,并且每个管道表达式都是一个文档结构,由字段名称、字段值和管道表达式组成。常见的管道表达式如下表。
在这里插入图片描述

练习1:统计运动鞋和电子通讯的价格price

db.c5.aggregate([
{
type“,
rs: {price”}
}
}
])
//对于符号
//rs为新增的列,存放统计数据,男女生的总年龄计算使用\(sum<br /> // id和rs都可以加上双引号&#xff0c;没有差别</p> </blockquote> <p><img src="https://i-blog.csdnimg.cn/blog_migrate/03da6c14f67568b9bb017c5b75294dd3.png" alt="在这里插入图片描述" /><br /> 练习2 统计运动鞋和电子通讯的个数</p> <blockquote> <p>db.c5.aggregate([<br /> {<br /> type&#34;,<br /> &#34;<br /> gs<br /> &#34;<br /> :<br /> {sum:1代替&#xff08;匹配多少次&#xff0c;就多少个1相加&#xff09;,这里展示 id和gs加上双引<br /> 号</p> </blockquote> <p><img src="https://i-blog.csdnimg.cn/blog_migrate/58ed65de5380d304ebe54f8.png" alt="在这里插入图片描述" /><br /> 练习3 求商品总数和平均价格</p> <blockquote> <p>db.c5.aggregate([<br /> {<br /> sum:1},<br /> total price avg:{price&#34;}<br /> }<br /> }<br /> ])</p> </blockquote> <p>这里求的是总人数&#xff0c;管道依然可以选择分组&#xff0c;但是没有分组字段&#xff0c;所以_id为null<br /> total_num为新增的列&#xff0c;存放总数<br /> total_price_avg为新增的列&#xff0c;存放平均价格<br /> <img src="https://i-blog.csdnimg.cn/blog_migrate/da9c7d6ab7e723a09840ce5e73cf19bd.png" alt="在这里插入图片描述" /><br /> 练习4&#xff1a;使用\)min表达式,将集合陈中的文档按类型type进行分组,并计算各个分组中价格price最小值,具体命令如下。







db.c5.aggregate([{type“,“price”:{price”}}}]).pretty()

在这里插入图片描述
练习5 使用$max表达式,将集合c5中的文档按类型type进行分组,并计算各个分组中价格price最大
值,具体命令如下。

db.c5.aggregate([{type“,“price”:{price”}}}]).pretty()

在这里插入图片描述


小讯
上一篇 2025-05-22 22:39
下一篇 2025-04-19 12:32

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/152560.html