设为首页 收藏本站
查看: 1768|回复: 0

[经验分享] (2) MongoDB基本概念及与关系型数据库的对照

[复制链接]

尚未签到

发表于 2015-7-10 09:54:39 | 显示全部楼层 |阅读模式
  MongoDB不是关系型数据库,因此也就没有了表,行等概念,但是有一些类似的概念,主要有 数据库(Database),集合(Collection),文档(Document),其中数据库跟关系型数据库的数据库是一个概念,集合相当于表,文档相当于行。下面分别来介绍这些概念。
  
  1. 文档:
  文档是MongoDB的核心概念,也是MongoDB种数据的基本单元。所谓文档就是多个键及其关联的值有序的放置在一起。如,
  {"greeting":"Hello World!"}
  在这个文档中,"greeting"是键,"Hello World!"是值
  当然,绝大多数的文档包含多个键/值,比这个要复杂的多,如:
  {"author":"Tian","Sex":"M","hobby":"MBK"}
  甚至文档里面还包含文档。
  
  1.1 文档的键的命名规则
  1). 文档的键是字符串;
  2). 键不能包含有\0(空字符),这个字符用来表示键的结尾;
  3). $和.有特殊的含义,被保留了;
  4). 以下划线"_"的键被保留了,虽然这个并不是严格的要求。
  5). 文档的键不能重复
  6). 区分大小写,如{"author":"tian"}和{"Author":"tian"}是不一样的
  
  2. 集合
  集合,指的是一组文档。
  MongoDB的集合虽然类似于关系数据库的表,但是,集合是无模式的,不必像关系数据库的表那样,必须事先定义,并且结构固定。
  我们可以将以下2个文档存到同一个集合中:
  {"author":"tian"}
  {"age":6}
  这两个文档,键不一样,对应的值也不一样,甚至类型也不一样,而这在关系数据库中是不可想象的。
  
  2.1 集合的命名
  1). 集合名不能是空字符串""
  2). 集合名不能含有\0(空字符),这个字符是集合名的结尾
  3). 集合名不能以"system."开头,以"system."开头表示系统集合,如system.users这个集合保留数据库用户的信息,system.namespaces这个集合保存数据库所有集合的信息
  4). 用户创建的集合名字不能含有保留字符$
  
  2.2 子集合
  我们可以通过"."字符分开的按命名空间划分的子集合来组织集合。如,一个带有博客功能的应用可能包含2个集合blog.authors和blog.posts,这样做的目的只是为了组织更好,事实上, 我们不一定存在blog这个集合的。
  
  3. 数据库
  多个集合组成数据库。一个MongoDB实例可以包含多个数据库,他们之间可以视为完全独立。
  
  3.1 数据库命名
  1). 不能是空字符串;
  2). 不能含有空格、.、$、/、\、和\0;
  3). 应全部小写;
  4). 最多64字节;
  5). 不能是保留的数据库名:admin,local,config
  
  参考:MongoDB权威指南

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85101-1-1.html 上篇帖子: cent os下编译安装php mongodb扩展教程 下篇帖子: Step by Step ——Mongodb学习(二)基本概念
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表