MongoDB简单的增删改查

一、MongoDB是什么

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库查询的绝大部分功能,而且还支持对数据建立索引。


mongoDB

二、bson相对于json的优点

bson,基于json格式,是MongoDB的数据存储格式。bson相对于json有一下几个优点。

1.遍历

对json格式来说,太大的结构会导致数据遍历非常慢。在json中,要跳过一个文档进行数据读取,需要对此文档进行扫描。而在bson中,可以直接定位到我们所要找的位置。简单的说,json的存储类似于字符串,而bson是按结构存储的。存储空间bson>json,解析速度bson快于json。

2.修改

对json来说,数据存储是无类型的,比如你要修改基本一个值,从9到10,由于从一个字符变成了两个,所以可能其后面的所有内容都需要往后移一位才可以。而使用bson,你可以指定这个列为数字列,那么无论数字从9长到10还是100,我们都只是在存储数字的那一位上进行修改,不会导致数据总长变大。

三、MongoDB的下载以及图形界面工具

MongoDB的下载地址:https://www.mongodb.com/download-center?jmp=nav#atlas

关于MongoDB的下载与配置,已有许多相关资料,这里不再描述。

MongoDB和MySQL一样,没有直接的图形界面,是在命令行中进行操作的。这样的操作麻烦而且不直观,当然官方也给出了相应的图形界面工具,但是这里我们采用第三方的图形界面工具Robo 3T 。

MongoDB简单的增删改查_第1张图片
Robo 3T

Robo 3T的下载地址:https://robomongo.org/

四、使用Robo 3T进行简单的增删改查

1、创建连接

打开Robo 3T,点击左上角的Create可以新建连接。如图,我们已经建立了名为mongodb的连接。


MongoDB简单的增删改查_第2张图片
创建连接

选择相应的连接,点击Connect进行连接,进入Robo 3T主界面。


MongoDB简单的增删改查_第3张图片
主界面

2、创建数据库

右键左上角的连接名,点击Create Database。


连接名

输入数据库名,Create。这里,我们创建名为test1的数据库。


MongoDB简单的增删改查_第4张图片
创建数据库

创建完成后,可以看到test1下有Collections,Functions和Users三部分。Collections表示集合,Functions表示函数,Users表示用户。


MongoDB简单的增删改查_第5张图片
image.png

右键Collections,选择Create Collection,输入集合名,即可创建集合。我们创建一个名为collection1的集合。


创建集合

3、增

(1)使用图形化插入

右键collection1,点击Insert Document,即可进行插入。我们添加如下信息,点击Save。


MongoDB简单的增删改查_第6张图片

右键test1数据库,点击Open Shell,输入如下命令,点击左上方的绿色三角形运行,来查看我们添加的信息。


MongoDB简单的增删改查_第7张图片
添加的信息
(2)使用nosql语句插入

在shell中输入如下语句,点击运行。


MongoDB简单的增删改查_第8张图片
插入

(这样是在插入在新的Document中,如果要插入在已有的Document下,采用update,在下面会讲到。)

查看。


MongoDB简单的增删改查_第9张图片
添加的信息

4、删

(1)使用图形化删除

右键点击一条记录,选择Edit Document,弹出和插入时一样的窗口,直接将要删掉的内容删除,点击save即可。


MongoDB简单的增删改查_第10张图片
删除

这样删除的是Document下的记录。如果要删除整个Document,点击Delete Document。

(2)使用nosql语句删除

在shell中输入如下语句,点击运行。


MongoDB简单的增删改查_第11张图片
删除

(这样删除的是整个Document,如果要删除已有的Document下的内容,采用Update,在下面会讲到。)

如果remove({}),将会删除当前collection中的所有Document,千万不要手贱哟。

5、改

(1)使用图形化修改

右键点击一条记录,选择Edit Document,弹出和插入时一样的窗口,直接进行修改,点击save即可。

(2)使用nosql语句修改

在shell中输入如下语句,点击运行。

upsert=true表示如果不存在则插入。multi=true表示允许修改多条记录 。

下面这条语句表示将含有"c":1的Document下的"c":1改为"c":3。


修改

下面这条语句表示将含有"c":1的Document下的key为"e"的value改为3。


修改

下面这条语句表示将含有"c":1的Document下的"e":3删除。


修改

下面这条语句表示删除所有Document下的"e":3。


修改

6、查

(1)使用图形化查询

右键collection1,点击View Document,直接查看collection1下所有的Document。

(2)使用nosql语句查询

在shell中输入如下语句,点击运行。

下面这条语句表示查询collection1下的所有Document。


查询

下面这条语句表示查询collection1下包含"c":2的所有Document。


查询

下面这条语句表示查询collection1下包含"c":2的一个Document。


查询

下面这条语句表示查询collection1下包含"c":2的两个Document。


查询

下面这条语句表示查询collection1下包含"c":2的所有Document,并按age正序排列。


查询

下面这条语句表示查询collection1下包含"c":2的所有Document,并按age倒序排列。


查询

下面这条语句表示统计collection1下的Document数。


查询

下面这条语句表示找出age>27的Document。(有多个key为age时,以find时显示在最上面的age为准,下同)


查询

下面这条语句表示找出age≥27的Document。


查询

下面这条语句表示找出age<27的Document。


查询

下面这条语句表示找出age≤27的Document。


查询
到这里MongoDB的简单增删改查就介绍完啦。

你可能感兴趣的:(MongoDB简单的增删改查)