知识点
软件工具
相关文章
更多最近更新
更多MongoDB的体系结构_深入浅出MongoDB(三)
2019-03-14 13:00|来源: 领悟书生
逻辑结构关系对比
我们用一张表格来对关系型数据库和MongoDB进行对比
MongoDB | 关系型数据库 |
文档对象(document) | 行(row) |
集合(collection) | 表(table) |
数据库(database) | 数据库(database) |
数据存储结构
MySQL的数据存储结构:
MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如果使用MyISAM存储引擎,数据库文件类型就包括frm、MYD、MYI.
MongoDB的数据存储结构:
MongoDB的默认数据目录是/data/db,它负责存储所有的MongoDB的数据文件,在MongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做mydb的数据库,那么构成mydb这个数据库的文件就会由mydb.ns,mydb.0,mydb.1等等组成。
MongoDB数据类型
MongoDB的文档使用BSON(BinaryJSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象),不能完全满足复杂业务的需要,因此,BSON还提供了日期、32位数字、64位数字等类型,以下对MongoDB数据类型进行简要说明:
类型 | 描述 |
null | 用于表示空值或者不存在的字段 {“x”,null} |
布尔 | ‘true’和’false’ {“x”,true} |
32位整数 | Shell中这个类型不可用,MongoDB在控制台使用JS引擎进行输入,而JS仅支持64位浮点数,所以32位整数将会被自动转义 |
64位整数 | Shell中这个类型不可用, 64位整数与32位整数一样,在MongoDB控制台使用时,会转义成64位浮点数 |
64位浮点数 | Shell中的数字都是这种类型,下面是浮点数 {“x”:3.14}、{“x”:3} |
字符串 | UTF-8字符串都可表示为字符串类型的数据 {“x”:”foobar”} |
符号 | Shell不支持这种类型,将自动转义成字符串 |
对象ID | 对象id是文档的12字节的唯一ID,时间戳|机器|PID|计数器 {“x”:ObjectId()} |
日期 | 日期类型存储的是从标准纪元开始的毫秒数 {“x”:new Date()} |
正则表达式 | 文档中可以包含正则表达式,其正则表达式采用JS语法来表示 {“x”:/foobar/i} |
代码 | 文档中可以包含js代码 {“x”:function(){…}} |
二进制数据 | 二进制数据可以由任意字节的串组成,不过Shell无法使用 |
最大值 | BSON包括一个特殊类型,表示可能的最大值 Shell无法使用 |
最小值 | BSON包括一个特殊类型,表示可能的最小值 Shell无法使用 |
未定义 | 文档中也可以使用未定义类型 {“x”:undefined} |
数组 | 值的集合或者列表可以表示成数组 {“x”:[“a”,”b”,”c”]} |
内嵌文档 | 文档可以包含别的文档 {“x”:{“foo”:”bar”}} |
本文链接:http://www.656463.com/portal.php?mod=view&aid=77,转载请注明出处
下一节:MongoDB的常用命令
相关问答
更多-
深入浅出设计模式与深入浅出设计模式C#/java,有什么区别,另外求这两本书的PDF[2022-08-03]
深入浅出设计模式是HeadFirst系列的,写的很好,后面那本就不用看了,垃圾的要死 -
求一MFC深入浅出教程[2023-01-10]
《mfc windows程序设计》 适合初学者,经典,不推荐《深入浅出MFC》,这个不适合初学者,需要一定功底才行! -
你的mongo视频可以传一份吗 <深入浅出MOngoDB应用实战>[2022-07-23]
可以楼主找我传吧!帮忙采纳下哦 谢谢 祝您生活愉快! -
哪位《深入浅出玩转51》这本书的pdf,求发一份![2022-12-04]
《深入浅出玩转51单片机 工程师经验手记》,有pdf,百度私信你了 -
哪有《Head First Design Patterns》深入浅出设计模式(pdf)下载[2023-11-05]
http://forum.springside.org.cn/viewthread.php?tid=1092 这个有,不过要注册的,你来找我要账号吧! -
能给我一份吗?《深入浅出Hadoop实战开发》[2022-04-04]
这一份视频应该只能花钱购买 -
哪里有《深入浅出设计模式 中文版》 可以下载[2022-04-09]
http://www.51leifeng.net/thread-5175-1-1.html 自己注册个帐号就可以下了 -
求《深入浅出extjs》 pdf 第二版[2022-01-06]
书比较新,网上不好找 还是买吧,我都是买的新书。 不过看完这本书的感觉是,它几乎不讲底层源码,如果你想在ExtJS上达到大师级的水平的话,"ExtJs源码分析与实例宝典"似乎不错。我正想买那本书呢。 如果你只是想了解Ext一些常用功能的话,《深入浅出extjs》也凑合