• 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 —
    感谢阅读~

  • 相关阅读:
    第四章 互联寄生
    Android学习笔记 1.2.3 Gradle的属性定义 && 1.2.4 增量式构建
    GB/T 29734.3-2020 塑钢复合门窗检测
    顶顶通语音识别使用说明
    Large Language Model Alignment: A Survey
    使用frida来spawn Fork 的子进程
    最新文档:微信、企业号+地理位置定位+地图展示
    优化你的计算机性能:如何根据 CPU 占用率决定硬件升级
    Dockerfile
    redis过期删除及内存淘汰策略
  • 原文地址:https://blog.csdn.net/fxbin123/article/details/126079065