MongoDB文档、集合、数据库的概念

基本概念

文档时MongoDB中数据的基本单元,是MongoDB的核心概念,很类似关系数据库中的行(记录)

集合可以被看作没有模式的表(表)

MongoDB每个实例都可容纳多个独立数据库,每个数据库都有自己的集合和权限(数据库)

 

文档

多个键及其关联的值有序地放置在一起就是文档

单键值文档{“userName“:”BBS11“}

多键值文档{ "_id" : ObjectId("58097dfe7e6d64baca852729"), "name" : "test", "add" : "china" }

文档中的值不仅可以是字符串,也可以是其他数据类型(或者嵌入其他文档)

键是字符串,键可以使用任意UTF-8字符

键不能含有\0(空字符),空字符表示键的结尾

和$作为保留字符,通常不应该出现在键中

以下划线“_”开头的键通常情况下是保留的

MongoDB不但区分数据类型,也区分大小写

{“user”:“11”}与{“user”:11}不同,{“User”:“11”}与{“user”:“11”}也不同

文档中不允许有重复的键。{“user”:“11”,“user”:“12”}非法

 

集合

集合就是一组文档,与关系数据库的表可类比

集合是无模式的。MongoDB对模式不做强制要求,有开发者灵活把握

命名规则:

1.集合名不能是空串“”

2.不能含有空字符\0

3.不能以“system.”开头,这是系统集合保留的前缀

4.集合名不能含保留字符$

组织集合的一种习惯是以. 分开,近命名空间划分子集合,列如system.Users,system.indexes

 

数据库

多个集合组成数据库

一个MongoDB实例可承载多个数据库,互相之间彼此独立

开发中通常将一个应用的所有数据存放到同一个数据库中

磁盘上,MongoDB将不同数据库存放在不同文件中

命名规则:

  1. 数据库名是utf-8字符串,最长64个字符
  2. 不能是空字符串
  3. 不能含“  、 .  $  / 和\0
  4. 应全部小写

 

系统保留数据库

  1. admin:这是root数据库,添加用户到该数据库中,该用户会自动继承所有数据库权限
  2. local:这个数据库中的数据永远不会被复制,可以用于存储限于本地数据单台服务器的任意集合
  3. config:分片时,config数据库在内部使用,保存分片信息

把数据库名放集合名钱,得到的就是集合的完全限定名称,叫命名空间。命名空间长度不能超过121字节,实际使用应小于100字节

posted @ 2016-12-29 10:41  wenxudong  阅读(6096)  评论(0编辑  收藏  举报