MongoDB简单介绍

来源:互联网 发布:网络语言实锤是什么梗 编辑:程序博客网 时间:2024/06/07 15:51
NoSQL与传统的关系型数据库(oracle、mysql、db2...)相比它具有操作简单、完全免费、开源等特点,
并可以用于各种商业目的,而且随着日益增大的数据量,非关系型数据库也将成为新时代的弄潮儿,MongoDB是非关系
型数据库的一种代表

MongoDB是一种非关系型数据库,能适应大数据量;
MongoDB没有模式,文档的键(相当于关系型数据库中的列名)不用事先定义好也不会固定不变

MongoDB中不再有数据库、表、列、字段等定义,将全部采用一种全新的概念


MongoDB与关系型数据库的对应关系:

          MongoDB                           关系型数据库(Oracle、mysql...)

            文档                                     表中的一条数据

          文档中的键                                     表的列名

          键对应的值                                  表中对应列的值

     集合(多个文档组成集合)                                  表

    数据库(多个集合组成数据库)                              多张表


如下为一个简单的集合表示形式

{

  "username" : "Tom",

  "password" : "Aa123456",

  "levels"   : {

                 "经理" : 2,

                 "科长"  3

               }

}


MongoDB中名词的一般命名规则:

1. 文档
    a)文档是Mongodb的核心概念,多个键及其关联的值有序的放置在一起便是文档.
    b)格式:{"键" : "值", "键" : "值", ....}或更复杂.
    c)文档中的键/值对是有序的:如下二个文档代表的是截然不同的二个文档
      {"name":"ycao","password":"a12345"} {"password":"a12345","name":"ycao"}
    d)文档中"键"的命名
      键不能含有\0(空字符),这个字符用来表示键的结尾;
      "."、"$"、"_"系统保留的,有特殊的意义,不建议使用;
      以下划线"_"开头的键不建议使用.
    f)文档中不能有重复的键存在; 区分类型也区分大小写.
    

2. 集合
    a)集合就是一组文档.集合类似关系形数据库中的表.
    b)集合是无模式的,这就意味着一个集合中可以存在各种各样形式的文档.
    c)集合的命名
      不能是空字符串""
      不能含有\0(空字符),这个字符用来表示集合的结尾
      集合名不能以"system"开头,这是为系统集合保留的前缀
      集合名中不能含有保留字符"$"

3. 子集合
    a)组织集合和一种惯例是使用".",子集合目的是使组织结构更好些;
    b)有一个带有博客功能应用可能包含二个集合,分别是blog.posts 和 blog.authors.
      db.blog代表blog集合, db.blog.posts代表blog.posts集合.

4. 数据库
    a)mongodb中多个文档组成集合,那么多个集合也就组成一个数据库.
    b)一个实例可以承载多个数据库,它们之间是相互独立的,每个数据库都有独立的权限控制.
    c)数据库的命名
      不能是空字符串""
      不能含有''(空格),.(点),$,/,\,\0(空白符)
      应该全部小写
      最多64字节(数据库最终将转化为文件系统里面的文件,数据库名对应文件的文件名)
      有一些数据库名是保留的:admin、local、config

5. 命名空间
    把数据库的名子放在集合名前面,得到的就是集合的完全限定名,即命名空间.
    长度不能超过121字节,在实际使用中应该小于100字节.
    例如你在使用cms数据库,集合blog.posts时,此时的命名空间为:cms.blog.posts


0 0
原创粉丝点击