• 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的数据类型

    在这里插入图片描述
    在这里插入图片描述


    — END —
    感谢阅读~

  • 相关阅读:
    vscode 源代码不能自动stage change
    LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
    组合模式
    用Python做了几个爬虫私活,赚了
    Java高级-注解
    python基础(五)输入和while
    达梦数据库DM8的命令行工具DIsql介绍与使用
    数据库的基本概念以及MySQL基本操作
    icg模块clock gating解析
    如何进行企业设备管理?
  • 原文地址:https://blog.csdn.net/fxbin123/article/details/126079065