MongoDB自学笔记6---3.1 MongoDB文档、集合、数据库概念
MongoDB自学笔记6---3.1 MongoDB文档、集合、数据库概念
MongoDB自学笔记5---2.3 mongod启动参数
http://www.zzzyk.com/database/201308/234704.html
第三章 快速入门
3.1 MongoDB文档、集合、数据库概念
3.1.1 文档
文档是mongodb中的最核心的概念,是其核心单元,我们可以将文档类比成关系型数据库中的每一行数据。多个键及其关联的值有序的放置在一起就是文档。在mongodb中使用一种类json的bson存储数据。bson数据可以理解为在json的基础上添加了一些json中没有的数据类型。如果我们会json,那么bson我们就已经掌握了一半了,至于新添加的数据类型后面我会介绍。文档例子如下:
{“name":"mengxiangyue","易做图":"nan"}
对于文档是有一些限制的:有序、区分大小写的,所以下面的两个文档是与上面不同的
{”易做图“:"nan","name":"mengxiangyue"}
{"Name":"mengxiangyue","易做图":"nan"}
对于文档的字段mongodb有如下的限制:
_id必须存在,如果你插入的文档中没有该字段,那么mongodb会为该文档创建一个ObjectId作为其值。_id的值必须在本集合中是唯一的。
字段名不能以$符号开头。
字段名不能包含“.”符号。
3.1.2 集合
集合就是一组文档的组合。如果将文档类比成数据库中的行,那么集合就可以类比成数据库的表。
在mongodb中的集合是无模式的,也就是说集合中存储的文档的结构可以是不同的,比如下面的两个文档可以同时存入到一个集合中:
{"name":"mengxiangyue"}
{"Name":"mengxiangyue","易做图":"nan"}
这个是与关系型数据库不同,在关系型数据中所有的行的字段都是相同的。不能像mongodb中这样可以不相同。虽然mongodb的集合是无模式的,但是mongodb的官方还是建议所有的文档的结构都是相同的,这样处理起来比较方便。
3.1.3 数据库
在mongodb中的数据库的概念与关系型的数据库中的数据库的概念基本相同。在mongodb中的数据库是多个集合的组合。同样一个mongodb中可以建立多个数据库,这些数据库也是相互独立的,也可以独立进行用户验证。
在给数据库起名的时候有几个是保留的admin、local、config。这几个数据库是mongodb的保留数据库。
admin数据库,是一个root数据库,在这个数据库中添加用户,该用户将继承所有的数据库的权限,以后讲权限的时候会用到。
local数据库,这个数据库不会被复制,只存储本地服务器才能访问的数据库。以后再分片的时候会降到。
config数据库用于保存分片的相关信息。