前言
1、非预定义模式,可根据需要添加和删除字段
2、横向扩展
3、自动处理跨集群的数据和负载
4、自动重新分配文档
一、丰富的功能
1、索引:唯一索引,复合索引,地理空间索引,全文索引
2、聚合
3、特殊的集合类型:时间有限集合、大小固定集合
4、文件存储
二、数据库
1、命名规范(满足下列条件的任意UTF-8字符串):
1.1、不能是空字符串
1.2、不能包含特殊字符,基本上只能使用ASCII中的字母和数字
1.3、数据库名称区分大小写,建议全部小写
1.4、最多64字节
2、特殊的数据库
2.1、admin
2.2、local
2.3、config
3、命名空间
3.1、数据库名添加到集合名前面,就得到集合的完全限定名
3.2、长度不超过121字节,实际使用中应小于100字节
三、集合(类似于关系型数据库的表)
1、动态:一个集合里面的文档可以是多种类型的
2、命名规范(满足下列条件的任意UTF-8字符串):
2.1、不能包含空字符串
2.2、不能是空字符串
2.3、不能以system.开头
2.4、用户创建的集合不能包含$
四、文档(类似于关系型数据库的行):
1、键值对的有序集合
2、键值对是有序的
3、文档的键满足下列条件的任意UTF-8字符串字符串:
3.1、不能包含空字符
3.2、.和$具有特殊意义
4、不但区分类型,还区分大小写
5、不能有重复的键
6、文档中可以嵌入文档和数组