MongoDB 数据模型

Posted 大痴小乙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 数据模型相关的知识,希望对你有一定的参考价值。


JSON标准

JSON是当今非常通用的一种跨语言Web数据交互格式,属于ECMAScript标准规范的一个子集。JSON(javascript Object Notation, JS对象简谱)即JavaScript对象表示法。顾名思义,JSON与JavaScript语言是分不开的,它是JavaScript对象的一种文本表现形式。

作为一种轻量级的数据交换格式,JSON的可读性非常好,而且非常便于系统生成和解析,这些优势也让它逐渐取代了XML标准在Web领域的地位,当今许多流行的Web应用开发框架,如SpringBoot都选择了JSON作为默认的数据编/解码格式。

总的来说,JSON由两种基本结构组成:

  • 键值对的集合,等同于我们所说的对象、字典、哈希表(hash table)等数据结构,比如一个用户会同时拥有名称(name)、年龄(age)等字段信息;这个结构还可以支持嵌套,如用户的地址信息(address)作为子对象,地址中又可以包含邮政编码(zcode)、详细街道地址(street)等。
  • 有序的数据列表,通常对应于数组形式,如上述例子中的faviorites字段,表示一个用户可以有多种偏好的标签信息。

JSON只定义了6种数据类型,如图所示:
![image.png](https://img-blog.csdnimg.cn/img_convert/ca7de93fe274f519ca1cbd6978f11ddc.png#align=left&display=inline&height=213&margin=[object Object]&name=image.png&originHeight=426&originWidth=900&size=107122&status=done&style=none&width=450)

BSON

BSON(Binary JSON)是二进制版本的JSON,其在性能方面有更优的表现。BSON在许多方面和JSON保持一致,其同样也支持内嵌的文档对象和数组结构。二者最大的区别在于JSON是基于文本的,而BSON则是二进制(字节流)编/解码的形式。除此之外,BSON还提供了一些扩展的数据类型,比如日期、二进制数据等。

MongoDB在文档存储、命令协议上都采用了BSON作为编/解码格式,主要具有如下优势:

  • 类JSON的轻量级语义,支持简单清晰的嵌套、数组层次结构,可以实现无模式(模式灵活)的文档结构。
  • 更高效的遍历,BSON在编码时会记录每个元素的长度,可以直接通过seek操作进行元素的内容读取,相对JSON解析来说,遍历速度更快。
  • 更丰富的数据类型,除了JSON的基本数据类型,BSON还提供了MongoDB所需的一些扩展类型,这更加方便数据的表示和操作。

BSON的数据类型

MongoDB


MongoDB


— END —
感谢阅读~


以上是关于MongoDB 数据模型的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB数据模型和索引学习总结

Mongodb数据模型

CentOS 6.x - 知识简谱(不定时继续完善)

MongoDB:数据模型介绍

MongoDB 体系结构与数据模型

JSON/xmlProcessing 以及收集Java的设计模型