mongodb基本操作教程

数据库教程

新建数据库

语法:

use:用于切换/创建数据库,若不存在则创建,否则切换到指定数据库。

DATABASE_NAME:数据库名称。

执行use articledb命令,创建数据库articledb。

查看数据库

语法:查看全部数据库

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

删除数据库

语法:

db:表示当前数据库对象。

dropDatabase():用于删除当前数据库的方法。

删除当前数据库,执行命令前应使用use命令切换到要删除的数据库,为了防止误删可执行命令db验证当前数据库是否为指定删除的数据库。

集合教程

创建集合

语法

     显示创建

     隐式创建

  1. db:表示当前数据库对象。
  2. createCollection():创建集合方法。
  3. DOCUMENT表示文档。
  4. COLLECTION NAME表示集合名称。
  5. OPTIONS表示集合配置。
  6. insert():向集合中插入文档的方法。

练一练:

执行“db.createCollection("myCollection")”"命令,显式创建集合myCollection。执行"showcollections“命令,查看是否成功创建集合。

删除集合

语法:

  1. db:表示当前数据库对象。
  2. COLLECTION NAME:表示集合名称。
  3. drop():删除集合方法。

练一练:执行“db.myCollection.drop()"命令,删除集合myCollection。

文档操作教程

文档插入

语法(单文档插入)

或者

语法(多文档插入)

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

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

练一练:

1、执行“use test"命令,创建并切换到数据库test.
2、隐式创建集合c1并插入文档。命令如下。

3.执行“db.c1.find()”命令,查看集合comment中的文档。

4、向集合comment中插入多文档,命令如下。
db.comment.insertMany([{document1},{document2},{document3}])

文档更新

语法:

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

练一练:

将键contect的值由“喝水是生命体通过口腔摄入水分的方式,人体每天通过口腔摄入的液体大约有2升“更新为“喝水增加了尿量,能使有害物质及时排出体内”,具体命令如下。

升级语法

案例说明

准备工作,创建c2集合,循环插入文档数据

练习1:将{uname:“ab1”}改为{uname:“ab2”}

发现:默认不是修改,而是替换。

解决:使用升级语法修改器

练习2:将{uname:“ab3”}改为{uname:“abc3”}

练习3:给{unarme:“ab10”}的年龄加2岁或者减少2岁

练习4:修改器综合练习

插入数据:db.c4.insert({uname:"mantianxing",age:33,who:"女",other:"小仙女"});

文档删除

语法(删除单个)

删除全部文档

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

练一练

删除集合c1中键nickname为“Rose”的文档,具体命令如下。

查看集合所有文档,验证文档是否删除成功,具体命令如下。

删除集合commment中全部文档,具体命令如下。

再次查看集合中所有文档,验证文档是否全部删除,具体命令如下。

文档简单查询

查询所有文档语法。

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

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

按条件查询文档

基础语法:db.集合名.find(条件[查询的列])

条件

练一练

查询age为4,只显示它的姓名;

升级语法

练一练

1.查询年龄大于5岁的数据

2查询年龄是18岁,20岁,25岁的数据

总结

聚合操作

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

语法(略复杂)

其中“[]”不是必须的,可以省略!!!

案列学习

准备集合c5,插入文档。注意:一般不指定,id键也不需要双引号。

练习1:使用¥group操作符,将集合c5中的文档按type进行分组,具体命令如下。

练习2:使用¥limit操作符,展示集合c5中前三个文档,具体命令如下

等价于:

练习3:使用¥match操作符,将集合c5中键name的值为HUAWEI MATE30的文档查询出来,具体命令如下

练习4:使用¥sort操作符,将集合c5中的文档按照键price的值进行降序排序,具体命令如下。

等价于:

练习5:使用¥project操作符,展示集合c5中的文档,并且文档均不包含字段_id,具体命令如下

练习6:使用¥skip操作符,展示集合c5中的_id为5的文档(即跳过前面4个文档),具体命令如下

常用表达式

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值