据结构:简单的说: 1. 文档(document)是mongodb中最基本的数据组织形式,每个文档以key-value(键-值对)的方式组织起来 例如
据结构:
简单的说: 1. 文档(document)是mongodb中最基本的数据组织形式,每个文档以key-value(键-值对)的方式组织起来
例如:
{greeting : hello world!}
2. 一个文档可以有多个key-value组合,每个value可以是不同的类型,比如string、integer、list等等
例如:
1.{ name : huangz,
2. sex : male,
3. age : 20 }
3.将多个文档组织起来,就形成了集合(collection)。如果将文档比作关系数据库中的行(row)的话,那么集合就是数据库中的表(table)。
在关系数据库(如mysql)中,在同一个数据库表里面,总是有相同的行(row),比如你有一个student表,里面有id,name,,age,class,grade几个row,那么整个student只能有相同的几个行。
但是在mongodb当中,内容格式可以很随意,在一个集合中,储存多个有不同key、不同类型的文档,比如你可以在一个student集合里面,有如下格式的文档:
在这个student集合里面,并不要求每个文档都要有同样的key和同样的类型,一切随意。
1.{
2. name : huangz,
3. age : 20,
4. sex : male
5.}
6.
7.{
8. name : jack,
9. class : 3,
10. grade : 3
11.}
总结起来,mongodb组织数据的方式如下:
key-value对 > 文档 > 集合 > 数据库
另外,在mongodb中(不包括gridfs),单个文档大小不得超过4mb(版本>=1.7则是16mb)。
key的遵循以下规则:
集合的命名规则和文档的命名规则大概相似,另外要记住的是
system集合是被保留的另外,“.”号的使用在集合当中是允许的,它们被成为子集合(subcollection);比如你有一个blog集合,你可以使用blog.title,blog.content或者blog.author来帮组你更好地组织集合。
将多个集合组织起来,就形成了数据库(database)。单个mongodb实例可以使用多个数据库,每个数据库都是独立运作的,可以有单独的权限,每个数据库的数据被分开保存在不同的文件里。