MongoDB是一种强大灵活可扩展的数据存储方式,它扩展了关系数据库的众多功能。MongoDB的功能非常丰富,但是却非常容易上手和便于使用,今天来了解一下MongoDB的主要概念。
文档
文档是的核心概念。多个键机器关联的值有序的放置在一起便是文档。不同的语言表示文档的方法可能不一样,但是数据结构都是相通的。比如在Javascript中,可以使用json格式表示文档:
{“name”:”wufengtinghai”,”sex”:”m”,”age”:28}
此文档中有两个键值对,实际使用中一般会比这个要复杂一些。需要注意的是:
- 文档中的键值对是有顺序的,不同的顺序表示不同的文档。
- 文档中的值可以支持多种类型,比如name和age的值分别为字符串和数字。
- 文档中的键一般是字符串,但是不能包含\0(空字符),空字符表示键的结尾。
- 不能包含.和$两种保留字符,同时也不能以下划线开头。
集合
集合是文档的容器,可以将其视为关系数据库中的表。
- 集合是无模式,也就是说集合可以存储不同类型的文档。
- 集合的名字不能是空字符串。
- 集合名字中不能包含空格(\0),其作为集合名字的结尾。
- 集合名字不能以system.开头,此是为系统集合保留的关键字。
- 集合名字不能包含$。
数据库
多个文档构成集合,同样多个集合构成数据库。
- 一个Mongon实例可以承载多个数据库。
- 不同的数据库使用不同的文件存储数据,使用单独的权限控制。
- 数据库名字不能包含空字符串。
- 数据库名不能包含‘’(空格),.(实心点),/,\,\0(空字符)。
- 数据库名字应该小写,不超过64个字节。
- 不能是系统数据库的保留字(admin、Local、Config).