美文网首页我爱编程
MongoDB简单的增删改查

MongoDB简单的增删改查

作者: 小弦弦喵喵喵 | 来源:发表于2018-02-01 16:50 被阅读0次

    一、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 。

    Robo 3T

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

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

    1、创建连接

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


    创建连接

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


    主界面

    2、创建数据库

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


    连接名

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


    创建数据库

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


    image.png

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


    创建集合

    3、增

    (1)使用图形化插入

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


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


    添加的信息
    (2)使用nosql语句插入

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


    插入

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

    查看。


    添加的信息

    4、删

    (1)使用图形化删除

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


    删除

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

    (2)使用nosql语句删除

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


    删除

    (这样删除的是整个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简单的增删改查

        本文链接:https://www.haomeiwen.com/subject/vxfrzxtx.html