MongoDB基本知识和常用语法


据结构:
简单的说:  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的遵循以下规则:

  • "\0"不能使用
  • 带有"."号,"_"号和"$"号前缀的Key被保留
  • 大小写有区别,Age不同于age
  • 同一个文档不能有相同的Key
  • 除了上面几条规则外,其他所有UTF-8字符都可以使用

集合的命名规则和文档的命名规则大概相似,另外要记住的是

  • system集合是被保留的

另外,“.”号的使用在集合当中是允许的,它们被成为子集合(Subcollection);比如你有一个blog集合,你可以使用blog.title,blog.content或者blog.author来帮组你更好地组织集合。

将多个集合组织起来,就形成了数据库(database)。单个MongoDB实例可以使用多个数据库,每个数据库都是独立运作的,可以有单独的权限,每个数据库的数据被分开保存在不同的文件里。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一页

相关内容