首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MongoDB常用操作命令

上一篇文章中我们已经成功搭建起来MongoDB服务器,

搭建MongoDB服务器

。今天继续学习MongoDB常用的命令。

MongoDB操作起来非常灵活,不会像传统的关系型数据库那样有很多限制,首先来看数据库的创建和删除如何完成。

1.创建数据库

语法:use 数据库名。这个语法放在关系型数据库中是切换数据库的意思,在MongoDB中,如果该数据库存在,直接切换,如果不存在,则先创建,再切换,就是这么简单方便。比如,我们创建一个名为testdb的数据库,代码如下。

如图,终端打印switched to db testdb,表示testdb数据库已经创建完毕,并且系统已经切换到了该数据库中。

2.查看数据库

我们并没有在结果列表中看到刚才创建的testdb数据库,这是因为testdb只是创建,还没有添加数据,空的数据库不会在show dbs中显示。

3.查看当前切换的数据库

4.删除数据库

先切换到要删除的数据库use db,再执行删除操作db.dropDatabase(),比如,删除testdb数据库。

如图,终端打印{"ok":1},表示删除成功。

数据库创建完成之后,接下来就是添加数据,MongoDB中数据的存储结构和非关系型数据库有很大区别,MongoDB是以集合的形式来存储数据的,并且数据是以JSON的格式存储到集合中的。

5.创建集合

集合的创建和数据库的创建类似,不需要先创建,再操作,创建和操作可以用一条命令同时完成,比如,我们现在再testdb中创建一个my_student集合,并且给集合中添加数据。

语法:db.集合名.insert()

如图,终端打印WriteResult({"nInserted":1})表示添加成功,使用db.my_student.save()也可以完成添加功能。

6.查看集合

show collections或者show tables,都是查看当前数据库全部集合的命令。

7.查询全部数据

如图,查询出了全部数据,我们可以看到每一条数据除了x和name属性之外,还有一个_id属性,并且其类型为ObjectId,该属性是MongoDB自动添加的,相当于主键,并且不会重复,所以我们就不需要设置自增来保证主键的唯一性了。

8.精确查找,比如,查找x=1的数据

9.查询结果集合中的第1条数据

如果同时查询出多条符合条件的数据,可以使用findOne来获取第1条结果。

10.分页查询

MongoDB的分页查询很简单,语法类似于MySQL,使用limit关键字完成,比如,查询前3条记录。

如果要查询第2页的3条记录,结合skip()方法,skip(num)是跳过前num条记录。

查询的结果是第2条到第4条记录。

11.查询排序

根据x的值进行升序排列。

根据x的值进行降序排列。

12.修改

将x:1的数据name值修改为Jack。

修改完成之后,再查询,可以看到name已经改为了Jack。

13.如果修改一条不存在的数据,不会报错,对数据没有做出修改,并给出信息。

nMatched表示匹配成功为0条,nModified表示修改的数据为0条。

14.我们给update方法添加一个参数,结果就不一样了。

nUpserted表示如果数据不存在,先创建,再修改,所以update方法的第3个boolean类型参数表示的是如果数据不存在,是否要创建,默认值为false,表示不创建。

15.如果同时存在多条匹配的数据,默认只修改第一条。

如图,只有一条x:1的数据被修改了,如果需要多x:1的数据全部进行修改,添加一个参数即可,同样是boolean类型的参数,默认false表示只修改第一条,true表示全部修改,需要注意的是最后一个参数为true时的时候必须使用{$set:}进行更新。

16.删除数据

将x:1的数据删除,集合中所有满足x:1的数据都会被删除。

17.清空集合

如果remove()方法参数为空,会删除集合中所有数据。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180726G07GA900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券