数据模型

简介: MongoDB以文档为最小存储单位,采用BSON(Binary JSON)格式存储数据。BSON支持字符串、整数、数组、对象ID、日期、二进制等丰富数据类型,兼具灵活性与高效性,适合存储结构化和非结构化数据,但空间利用率较低。

MongoDB的最小存储单位就是文档(document)对象。文档(document)对象对应于关系型数据库的行。数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。
BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON。BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。 BSON采用了类似于 C 语言结构体的名称、对表示方法,支持内嵌的文档对象和数组对象,具有轻量性、可遍历性、高效性的三个特点,可以有效描述非结构化数据和结构化数据。这种格式的优点是灵活性高,但它的缺点是空间利用率不是很理想。
Bson中,除了基本的JSON类型:string,integer,boolean,double,null,array和object,mongo还使用了特殊的数据类型。这些类型包括 date,object id,binary data,regular expression 和code。每一个驱动都以特定语言的方式实现了这些类型,查看你的驱动的文档来获取详细信息。
BSON数据类型参考列表:
数据类型 描述 举例
字符串 UTF-8字符串都可表示为字符串类型的数据 {"x" : "foobar"}
对象id 对象id是文档的12字节的唯一ID {"X" :ObjectId() }
布尔值 真或者假:true或者false {"x":true}+
数组 值的集合或者列表可以表示成数组 {"x" : ["a", "b", "c"]}
32位整数 类型不可用。JavaScript仅支持64位浮点数,所以32位整数会被自动转换。 shell是不支持该类型的,shell中默认会转换成64位浮点数
64位整数 不支持这个类型。shell会使用一个特殊的内嵌文档来显示64位整数 shell是不支持该类型的,shell中默认会转换成64位浮点数
64位浮点数 shell中的数字就是这一种类型 {"x":3.14159,"y":3}
null 表示空值或者未定义的对象 {"x":null}
undefined 文档中也可以使用未定义类型 {"x":undefined}
符号 shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串
正则表达式 文档中可以包含正则表达式,采用JavaScript的正则表达式语法 {"x" : /foobar/i}
代码 文档中还可以包含JavaScript代码 {"x" : function() { / …… / }}
二进制数据 二进制数据可以由任意字节的串组成,不过shell中无法使用

相关文章
|
1月前
|
分布式计算 监控 API
DMS Airflow:企业级数据工作流编排平台的专业实践
DMS Airflow 是基于 Apache Airflow 构建的企业级数据工作流编排平台,通过深度集成阿里云 DMS(Data Management Service)系统的各项能力,为数据团队提供了强大的工作流调度、监控和管理能力。本文将从 Airflow 的高级编排能力、DMS 集成的特殊能力,以及 DMS Airflow 的使用示例三个方面,全面介绍 DMS Airflow 的技术架构与实践应用。
|
19小时前
|
人工智能 自然语言处理 安全
MCP的核心组件
MCP采用客户端-服务器架构,由MCP主机、客户端和服务器组成。主机承载AI智能体并发起请求;客户端负责请求标准化与安全通信;服务器提供数据、工具和提示,支持AI实时访问外部资源与服务,实现高效交互。
|
19小时前
|
文字识别 安全 数据处理
RAG分块应用中普遍存在的问题
RAG系统面临准确性、召回率与复杂文档解析三大挑战:模型易产生幻觉、检索噪声干扰、细粒度理解不足;语义匹配局限导致漏检,长尾知识覆盖差,多跳推理困难;表格、公式、图片等非结构化数据处理难,上下文割裂、逻辑结构丢失。合理分块策略是破局关键。
|
19小时前
基于LLM的分块
基于大语言模型(LLM)的智能分块技术,利用LLM语义理解能力,将非结构化文本按主题动态划分为语义连贯的文本块,适用于会议纪要、社交媒体等内容。虽分块质量高、适应性强,但计算成本高、可解释性差,依赖模型性能。
|
19小时前
|
人工智能 安全
MCP是什么?为何被称为AI时代的“USB-C”
MCP(模型上下文协议)是AI领域的“通用接口”,像USB-C一样让大模型便捷连接数据源与工具。它通过标准化上下文传递,实现信息互通与任务协同,确保每次调用都具备数据血统、策略与出处管理,推动AI无缝交互与安全可控运行。
|
19小时前
|
存储 人工智能 JSON
MCP工作的基本原理
MCP通过动态上下文窗口、多步骤工作流程支持与高效通信协议,实现智能、连贯的AI交互。动态窗口随对话扩展,记忆用户偏好与历史,压缩非关键信息;智能体可追踪操作、调整策略并自我优化,完成复杂任务;采用JSON-RPC 2.0协议,支持Stdio、HTTP+SSE及未来WebSocket,保障本地与网络环境下的高效通信,适用于客服、远程服务等多场景应用。
|
19小时前
|
XML 安全 数据格式
RAG面临的挑战与前沿探索
当前RAG面临知识关联缺失、推理与检索割裂、多模态理解弱、可信度难量化及长上下文建模难等深层问题。前沿探索聚焦检索增强、生成控制与优化分块,通过混合检索、查询扩展、递归推理、强制引用、语义分块等技术,推动RAG向动态交互、可解释、高可信方向演进。(238字)
|
19小时前
|
存储 人工智能 数据挖掘
MCP应用场景示例
MCP赋能智能数据分析与办公自动化:分析师输入需求,AI即连多源数据生成报告;办公助手通过MCP获取会议记录、整理并邮件分发,实现高效协同。
|
19小时前
|
人工智能 安全 API
MCP对大模型应用落地的价值
MCP构建了AI应用中本地与远程服务通信的标准桥梁,通过统一接口简化集成、扩展任务处理能力,并增强安全合规性,助力AI高效、安全完成复杂任务。
|
19小时前
|
人工智能 缓存 自然语言处理
大模型推理与应用术语解释
本系列介绍了大语言模型核心技术:推理实现高效生成,生成式AI创造多样化内容,检索增强生成提升准确性,提示工程优化输入引导,上下文学习实现零样本迁移,代理构建自主智能体,多模态学习融合多种数据形式,语义搜索理解深层意图。这些技术共同推动AI向更智能、更实用演进,广泛应用于内容生成、知识服务与自动化系统,成为现代人工智能发展的核心驱动力。(238字)