全球最具影响力的数据科学技术社区,助你轻松玩转大数据&数据科学

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

[MongoDB] MongoDB 数据模型

[复制链接]
发表于 2019-9-24 11:06:30 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
MongoDB文档



文档是Mongodb最核心的概念,本质上是一种类JSON的BSON格式的数据


BSON是一种类JSON的二进制格式数据,它可以理解为在JSON基础上添加了一些新的数据类型,包括日期、int32、int64等





MongoDB中写操作的原子性限制在文档级别,对文档的保存、修改、删除等都是原子操作


单个文档占用的存储空间不能超过16MB


Mongodb会尽量保持文档被插入时键值对的顺序


关于文档键的命名需要注意以下几点:
_id是系统保留的关键字,它是默认的主键,该值在集合中必须唯一,且不可更改


键不能包含\0或空字符,这个字符用于表示键的结尾


不能以$开头


不能包含.(点号)


键是区分大小写且不能重复 例如:{foo:1,Foo:1}


MongoDB文档与集合-集合
把一组相关的文档放到一起组成了集合,如果将MongoDB的一个文档比喻为关系型数据库的一行,那么一个集合就相当于一张表


MongoDB的集合是模式自由的,一个集合里面的文档可以是各式各样。


例如:下面的两个文档可以出现了同一个集合中。


{“name”:”joe”}


{“name”:”jack”,”sex”:”male”}


MongoDB提供了一些特殊功能的集合,例如:capped collction、system.index、system.namespaces等


关于集合的命名需要注意以下几点:


集合名不能是空字符串(””)


集合名不能包含有\0字符(空字符),该字符表示集合名的结尾


集合名不能以”system.”开头,以前缀是系统本身保留的


集合名中不能包含$字符(注:可包含.)


MongoDB文档与集合-数据库
多个文档组成集合,而多个集合组成了数据库。一个MonggoDB实例可以承载多个数据库,每个数据库都有独立的权限,在磁盘上,不同的数据库也可放置在不同的文件夹中(启动时加directoryperdb选项)


为了更好的组织数据,一般情况下,会把属于同一个应用程序(或同一种业务类型)的所有数据放到一个数据库中





关于数据库的命名需要注意以下几点:


不能是空字符串(””)


不能以$开头


不能包含.(点号)和空字符串


数据库名字区分大小写(建议数据库名全部使用小写)


数据库名长度最对为64个字节


不要与系统保留的数据库名字相同,这些数据库包括:admin,local,config





MongoDB文档与集合-命名空间
把数据库名添加到集合名字前面,中间用点号连接,得到集合的完全限定名,就是命名空间,例如:命名空间jike.blog


需要说明的是,点号还可以出现在集合名字中,例如:jike.blog.posts、jike.blog.authors,可以将posts和authors集合看作是blog集合的集合


使用子集合可以使我们更好的组织数据,使数据的结构更加清晰明了。


集合的命名长度不能超过100字节
————————————————
版权声明:本文为CSDN博主「ordinarySmile」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qiwansong/article/details/88938303

楼主热帖
168大数据(www.bi168.cn)是国内首家系统性关注大数据科学与人工智能的社区媒体!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2020-9-23 21:01 , Processed in 0.157543 second(s), 21 queries , Xcache On.

Powered by BI168社区

© 2012-2014 海鸥科技

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