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数据库中;