1. 简介
Mongodb是一种强大,灵活,可扩展的数据存储方式,属于nosql,非关系型数据库的一种。
mongodb是面向文档的数据库。
虽然是非关系型数据库,但是它保留了许多关系型数据库的特性:索引,范围查询,排序等。
mongodb容易上手,便于使用,并且安装配置都比较简单。
2. 文档document
文档(document)是mongodb的基本单元,类似于mysql中的行(row)。
文档是json格式,key/value对。
{"greeting" : "Hello, world!"}存储的内容区分类型,大小写,并且不能有重复的key。
key的命名规则:
不能有\0(空字符),这个字符表示key的结尾;
.和$ ,为保留字符,不建议使用;
不要以下划线_开头;
3. 集合
集合为一组文档,类似于mysql的表。
集合是无模式的,意思是一个集合中的文档可以是多种多样的,文档的类型,key,都可以不同。
不像mysql中那样每一条记录必须有多少列,以及相同的列。
在正式使用中,一个集合最好划分相同的模式。
- 相同模式的数据,开发者程序查询等处理时,方便处理。
- 一个集合中查询特定类型速度上不划算,分开多个集合查询要快很多。
- 同种类型文档在一个集合,数据更集中。
- 同种类型文档在一个集合,索引更有效。
4. 数据库database
多个集合组成一个数据库,一个mongodb实例中可以有多个数据库。
每个数据库权限控制和在磁盘保存文件上都是独立的。
命名规则:
不能是空字符串,不能包含空格,. $ / \ \0,
应全部小写, 最多64字节,
特殊自带数据库:
4.1 admin
保存用户以及权限信息。
列出所有数据库,关闭数据库,必须在admin下面。
4.2 local
这个数据库不会被复制。用于存储本地服务器的集合。
4.3 config
mongodb分片时,保存分片信息。