【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
关系型数据库与MongoDB区别:
SQL | MongoDB | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
数据库:
- 不能是空字符串(“”)
- 不得含有 (空格)、$、/、\ 和 空字符(‘’)
- 应全部小写
- 最多64个字节
文档(Document)
注意:
- 文档中的键/值对是有序的
- 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)
- MongoDB区分类型和大小写
- MongoDB的文档不能有重复的键
- 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
文档命名规则:
- 键不能含有空字符。这个字符用来表示键的结尾。
- .和$有特别的意义,只有在特定的环境下才能使用。
- 以下划线“_”开头的键是保留的(不是严格要求的)
集合(collection)
集合命名规则:
- 集合名不能是空字符串“”。
- 集合名不能含有空字符,这个表示集合的结尾。
- 集合名不能以‘system.’开头,这是为系统集合保留的前缀。
- 用户创建的集合名字不能含有保留字符。有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字段。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。
元数据:
集合命名空间 | 描述 |
---|---|
dbname.system.namespaces | 列出所有名字空间 |
dbname.system.indexes | 列出所有索引 |
dbname.system.profile | 包含数据库概要(profile)信息 |
dbname.system.users | 列出所有可访问数据库用户 |
dbname.local.sources | 包含复制对端(slave)的服务器信息和状态 |
MongoDB数据类型:
数据类型 | 描述 |
---|---|
String | 字符串 |
Integer | 整型数值 |
Boolean | 布尔值 |
Double | 双精度浮点值 |
Min/Max keys | 将一个值与BSON(二进制的JSON)元素的最低值和最高值相对比 |
Array | 用于数组或列表或多个值存储为一个键 |
Timestamp | 时间戳 |
Object | 用于内嵌文档 |
Null | 用于创建空值 |
Symbol | 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般采用特殊符号类型的语言 |
Date | 日期时间 |
Object ID | 对象ID,用于创建文档的ID |
Binary Data | 二进制数据。用于存储二进制数据 |
Code | 代码类型。用于在文档中存储JavaScript 代码 |
Regular expression | 正则表达式类型。用于存储正则表达式 |
来源:oschina
链接:https://my.oschina.net/u/4433046/blog/3147744