集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
比如,我们可以将以下不同的数据结构的文档插入到集合中
{“site”: “https://www.gorit.cn”}
{“site”: “https://www.gorit.cn”, “name”:“CodingGorit”}
{“site”: “https://www.gorit.cn”, “name”:“CodingGorit”,“age”:5}
当第一个文档插入时,集合就会被创建
-
集合名不能使空字符串
-
集合名不能含有\0字符(空字符),这个字符表示集合名的结尾。
-
集合名不能以"system."开头,这是为系统集合保留的前缀。
-
用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
1.3.4 一览表
| SQL 术语概念 | MongoDB 术语概念 | 解释/说明 |
| — | — | — |
| database | database | 数据库 |
| table | collection | 数据库表/ 集合 |
| row | document | 数据记录行/文档 |
| column | field | 数据字段/域 |
| index | index | 索引 |
| primary key | primary key | 主键 MongoDB 自动将_id 字段设置为主键 |
1.4 MongoDB 数据类型
下面列举 MangoDB 中常见的数据类型 (摘自菜鸟教程)
| 数据类型 | 描述 |
| — | — |
| String | 字符串,存储数据的常用数据类,在 mangoDB 中 UTF-8 编码的字符串才是合法的 |
| Integer | 整型数值,用于存储数值,根据你所采取的服务器,可以为分 64位和 32位。 |
| Boolean | 布尔值,存储布尔值(真假) |
| Double | 双精度浮点值,用于存储浮点值 |
| Min、Max keys | 讲一个值与 BSON (二进制 JSON) 元素的最低值和最高值相比 |
| Array | 用于将数组或者列表多个值存储为一个键 |
| TimeStamp | 时间戳,记录文档修改或者添加的具体时间 |
| Object | 用于内嵌文档 |
| Null | 用于创建空值 |
| Date | 日期时间,用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间,创建 Date 对象,传入年月日信息 |
。。
===============================================================================
我们看看网上的企业都在哪 mangoDB 做什么
-
Craiglist上使用MongoDB的存档数十亿条记录。
-
FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。
-
Shutterfly,以互联网为基础的社会和个人出版服务,使用MongoDB的各种持久性数据存储的要求。
-
bit.ly, 一个基于Web的网址缩短