xiuxuan 发表于 2017-12-16 09:56:53

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将不同数据库存放在不同文件中
  命名规则:

[*]数据库名是utf-8字符串,最长64个字符
[*]不能是空字符串
[*]不能含“、 .$/ 和\0
[*]应全部小写
  系统保留数据库

[*]admin:这是root数据库,添加用户到该数据库中,该用户会自动继承所有数据库权限
[*]local:这个数据库中的数据永远不会被复制,可以用于存储限于本地数据单台服务器的任意集合
[*]config:分片时,config数据库在内部使用,保存分片信息
  把数据库名放集合名钱,得到的就是集合的完全限定名称,叫命名空间。命名空间长度不能超过121字节,实际使用应小于100字节
页: [1]
查看完整版本: MongoDB文档、集合、数据库的概念