mangodb数据模型

简介: 数据模型

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月前
|
存储 缓存 关系型数据库
《原生应用数据存储抉择:键值型与关系型数据库深度剖析》
在原生应用开发中,数据存储选型至关重要。键值型数据库以简单高效著称,适合非结构化数据与高并发场景,但事务支持较弱;关系型数据库则擅长处理复杂结构化数据,具备强大事务能力和查询功能,但在扩展性上面临挑战。两者各有优劣,需根据数据结构、性能需求、业务场景等综合考量。例如,物联网领域可选用键值型数据库,而企业级应用更适配关系型数据库。合理选择存储方案,才能构建高效稳定的应用基础。
|
6月前
|
存储 监控 NoSQL
九大核心NoSQL数据库及使用场景详解
【10月更文挑战第6天】在当今大数据与云计算飞速发展的时代,NoSQL数据库以其灵活的数据模型、可扩展性和高性能,成为了众多应用场景下的首选。本文将为您详细介绍九大核心NoSQL数据库及其典型使用场景,帮助您在工作和学习中更好地选择和应用。
220 3
|
11月前
|
分布式计算 负载均衡 关系型数据库
关系型数据库设计集群架构需求分析
【5月更文挑战第6天】关系型数据库设计集群架构的需求分析是一个综合考虑业务需求、性能、可用性、可扩展性、数据一致性、安全性、成本效益和技术选型等多个方面的过程。通过深入分析和评估,可以设计出满足业务需求且高效可靠的数据库集群架构。
97 3
关系型数据库设计集群架构需求分析
|
11月前
|
监控 关系型数据库 数据库
关系型数据库关系维护
【5月更文挑战第17天】
168 4
|
11月前
|
存储 监控 负载均衡
InfluxDB最佳实践:数据模型设计与查询优化
【4月更文挑战第30天】本文探讨了InfluxDB的最佳实践,重点在于数据模型设计和查询优化。合理选择字段类型,根据业务逻辑划分Measurement,利用Tags进行索引优化,以及适时数据归档和清理,能有效提升性能。查询优化包括使用索引、精简查询语句、应用聚合函数及限制返回结果。分布式查询和分片适用于大规模数据集,以实现并行查询和负载均衡。这些策略旨在帮助用户优化InfluxDB的性能,进行高效时序数据分析。
|
11月前
|
存储 SQL NoSQL
关系数据库与非关系数据库:选择适当的数据存储方案
关系数据库与非关系数据库:选择适当的数据存储方案
|
数据库
数据库原理—数据模型(三)
数据库原理—数据模型(三)
数据库原理—数据模型(三)
|
11月前
|
存储 NoSQL MongoDB
基于NoSQL非关系数据库数据存储系统的设计与实现
基于NoSQL非关系数据库数据存储系统的设计与实现
130 0
|
存储 关系型数据库 MySQL
【现在努力还不晚】--MySQL数据库的数据模型
【现在努力还不晚】--MySQL数据库的数据模型
|
存储 SQL 关系型数据库
探索非关系型数据库:走进灵活的数据存储世界
在数字化时代,数据以前所未有的速度和规模增长。为了应对不同类型和结构的数据,非关系型数据库应运而生,为我们提供了一种灵活、可扩展的数据存储和管理方式。本文将引导您深入了解非关系型数据库的定义、特点、应用以及在现代技术中的重要性。
399 4

热门文章

最新文章

下一篇
oss创建bucket