1.MongoDB的数据基本称为文档,类似关系数据库的中的行;

2.类似,集合(Collection)是动态模式(dynamic schame)的表;

3.MongoDB的实例可以有多个相互独立的数据库,没有数据库中包含多个集合;

4.每个文档都有一个键,这个键在所在的集合中是唯一的;

5.MongoDB自带一个JavaScript Shell,用来管理MongoDB实例和数据操作;

 

一.文档和键

文档数据表达类似哈希或者字典,例如:

{”geeting”:”hello world!”,”foo”:3}

或者

{”geeting”:”hello world!”}

{”foo”:3}

geeting和foo是键,”hello world”和3是值;

 

MongoDB区分大小,类型和顺序,例如

{”foo”:3}

{“FOO”:3}

{”foo”:”3“}

{”foo”:3}

{”geeting”:”hello world!”,”foo”:3}

{”foo”:3,“geeting”:”hello world!”}

这是个文档是不同的;

 

集合中的键不能重复,例如

{”foo”:”hello world!”,”foo”:3}

这个文档是非法的;

 

二.动态模式(dynamic schame)

集合是动态模式的,意思是集合中的文档可以是各类各样的,例如

{”geeting”:”hello world!”}

{”foo”:3}

当然也可以将同一类格式的文档放进同一个集合,易创建索引和加快搜索,但是不强制这样做;

 

三.集合

集合中可以有子集合,用点号来分隔,例如

集合blog有子集合posts和子集合authors,其分别表示为

blog.posts

blog.authors

 

四.MongoDB数据库

MongoDB数据库是有多个集合组成,每个数据库都是一个单独的文件;MongoDB有保留的数据库名,例如

admin, 这是身份验证数据库,将用户添加到admin数据库,这个用户将自动获得所有的数据库的权限;另外,一些特殊的命令也只能从admin数据库运行,如列出数据库和关闭服务器;

local,所有的本地集合都可以在存储在这个数据库中。

config,MongoDB数据库用于分片设置,分片信息会存储在config数据库中;