mongoDB——通过客户端理解mongoDB体系结构

原文系列文章地址:http://blog.csdn.net/liusong0605/article/details/10611895

      通过之前的博客,我们了解了NoSQL,mongoDB的一些基本概念,其中,被提到最多的是mongoDB的存储理念:面向文档的存储、模式自由,还有集合、文档等名词,在没有接触mongoDB之前,可能觉得这些名词比较抽象,下面,我们通过对mongoDB的CRUD操作,借助可视化工具mongoVUE来看一下mongoDB中的结构,相信一定会对理解这些基本概念有更形象的认识。

      通过shell命令来执行数据库的CRUD操作:执行mongo命令启动客户端

      

      启动shell时,默认连接本地的test数据库,并将该数据库的连接保存到db变量中。db.user.insert(userDoc)中,user表示数据库中的集合名,不需要提前定义,可以在插入时创建。

      看一下mongoVUE中更形象的图片吧:

   

  

  

   从上图中可以看到,admin、local、test是mongoDB提供的三个db,当然,我们可以创建自己的数据库。

   Collections:在mongoDB中叫做集合,是文档的集合。它是无模式的,可以存储各种各样的文档。在图中,user就是一个集合。看上去有点像关系型数据库中的表。

       和关系型数据库中的表相比,关系数据库的每一张表就是一个关系模型的映射,每张表的字段就是对应实体的属性和主外键的集合,每个字段需要提前定义。

       而集合中可以保存毫无关系的数据,而且具体要保存什么不需要提前定义。

  Document:这里的user集合中有两个document。文档是mongoDB保存数据的基本单元。数据的存储结构为BSON格式,也就是TextView中显示的文本。

       保存的数据类型可以为:null、boolean、String、object、32位整数、64位整数、64位浮点数、日期、正则表达式、js代码、二进制数据、数组、内嵌文档、最大值、最小值、未定义类型。

 GridFS:由于BSON对象有大小限制,不适合存储大型文件,GridFS文件系统为大型文件提供了存储方案(其存储原理稍后再讲)。fs中保存的是图片、视频等大文件。

    从图上我们可以看到集合中的每个文档都自动增加了一个_id,而每个图片则新增了多个键:_id,chunkSize,md5、length、aliases等,这些属性都不是我上传时添加的,而是系统自动保存的,这就涉及到了GridFS处理大文件的机制。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值