168大数据

标题: MongoDB 数据模型 [打印本页]

作者: 168主编    时间: 2019-9-24 11:06
标题: MongoDB 数据模型
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大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2