1、什么是MongoDB?
MongoDB是一个基于分布式文档存储的非关系型数据库系统,使用C 语言编写,采用一种类似json的数据结构BSON存储。它是由字段和值对组成的数据结构。可以应用于大量数据的存储。MongoDB是一种最像关系型数据库的非关系型数据,也可以支持索引等功能。
MongoDB 官网地址:https://www.mongodb.com/ MongoDB 官方手册:https://docs.mongodb.com/manual/ MongoDB 下载地址:https://www.mongodb.com/try/download
补充:BSON( Binary Serialized Document Format) 是一种二进制形式的存储格式,采用了类似于C语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历性、高效性的特点
2、MongoDB和关系型数据库对比
关系型数据库概念 | MongoDB概念 | 说明 |
---|---|---|
Database | Database | 数据库 |
Table | Collection | 数据库表/集合 |
Row | Document | 数据记录行/文档 |
Column | Field | 数据列/数据字段 |
Index | Index | 索引 |
Table joins | MongoDB不支持表关联 | 表关联 |
Primary Key | Object ID | 主键/MongoDB自动将_id设置为主键 |
3、MongoDB中的数据类型
数据类型 | 说明 | 解释 | 举例 |
---|---|---|---|
Null | 空值 | 表示空值或者未定义的对象 | {“x”:null} |
Boolean | 布尔值 | true 或者false | {“x”:true} |
Integer | 整数 | 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64位。 | {“x”:1} |
Double | 浮点数 | 双精度浮点值。 | {“x”:3.14} |
String | 字符串 | UTF-8 字符串 | {“x”:“str”} |
Symbol | 符号 | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。 | |
ObjectID | 对象ID | 对象 ID。用于创建文档的 ID。 | {“id”: ObjectId()} |
Date | 日期 | 日期时间。用 UNIX 时间格式来存储当前日期或时间。 | {“date”:new Date()} |
Timestamp | 时间戳 | 从标准纪元开始的毫秒数 | {“t”:1528183743111} |
Regular | 正则表达式 | 文档中可以包含正则表达式,遵循 JavaScript的语法 | {“foo”:/^testdb.*?test$/i} |
Code | 代码 | 可以包 含 JavaScript代码 | {“x”:function() {}} |
Undefined | 未定义 | 已废弃 | {“x”:undefined} |
Array | 数组 | 值的集合或者列表 | {“arr”: [“a”,“b”]} |
Binary Data | 二进制 | 用于存储二进制数据。 | |
Object | 内嵌文档 | 文档可以作为文档中某个key的value | {“x”:{"foo”:“bar”}} |
Min/Max keys | 最小/大值 | 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比 |
参考资料
https://zhuanlan.zhihu.com/p/112910092