千家信息网

详述MongoDB数据类型

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家详细介绍了MongoDB数据类型,文中示例介绍的非常详细,图文详解容易学习,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。MongoDB的文档其实和JSON很类似,与JavaSc
千家信息网最后更新 2026年11月02日详述MongoDB数据类型

这篇文章主要为大家详细介绍了MongoDB数据类型,文中示例介绍的非常详细,图文详解容易学习,非常适合初学者入门,感兴趣的小伙伴们可以参考一下。

MongoDB的文档其实和JSON很类似,与JavaScript的对象概念也很像。但是MongoDB的数据类型更加丰富。下面我们一一介绍MongoDB的数据类型。

数据类型描述举例
null表示空值或者未定义的对象{“x”:null}
布尔值真或者假:true或者false{“x”:true}
32位整数32位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位整数64位整数。shell是不支持该类型的,shell中默认会转换成64位浮点数
64位浮点数64位浮点数。shell中的数字就是这一种类型{“x”:3.14,“y”:3}
字符串UTF-8字符串{“foo”:“bar”}
符号shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串
对象id文档的12字节的唯一id{“id”: ObjectId()}
日期从标准纪元开始的毫秒数{“date”:new Date()}
正则表达式文档中可以包含正则表达式,遵循JavaScript的语法{“foo”:/foobar/i}
代码文档中可以包含JavaScript代码{“x”:function() {}}
二进制数据任意字节的二进制串组成,shell不支持
最大值表示可能的最大值,shell不支持
最小值表示可能的最小值,shell不支持
未定义undefined{“x”:undefined}
数组值的集合或者列表{“arr”: [“a”,“b”]}
内嵌文档文档可以作为文档中某个key的value{“x”:{“foo”:“bar”}}

上面的大部分类型都是显而易见的,但是有必要详细解释一下对象id类型。我们上面说了,对象id类型是一个12字节的唯一id。每个字节2位16进制数,因此整个id类型是一个24位的字符串。其结构如下表所示:

前面四个字节代表从标准纪元开始的时间戳,以秒为单位。

  • 接下来三个字节表示机器号,一般是机器名的hash值。这可以保证不同机器产生的id不会冲突。
  • 接下来两个字节表示进程id号,保证统一机器不同建成产生的id不冲突
  • 最后三个是计数器的计数值,对于任意一秒钟,可以产生2^24个数

我们之前提到过,如果不在插入的时候手动的添加_id键,那么系统会自动添加一个。尽管MongoDB的id类型被设计成轻量级的,但是这样还是会不好。毕竟服务器创建这个还是会有开销的。因此,这个工作一般会放到客户端来做。

参考书籍

《MongoDB:The definitive guide》

以上就是MongoDB数据类型的详细介绍,内容较为全面,而且我也相信有相当的一些工具可能是我们日常工作可能会见到或用到的。通过这篇文章,希望你能收获更多。

类型 数据 字节 文档 支持 对象 字符 字符串 整数 机器 点数 不同 最大 最小 接下来 三个 二进制 代码 就是 最大值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 河南真二互联网科技有限公司 智能科技公司是互联网公司吗 互联网与科技金融数据 互联网金融与金融科技 善班互联网科技有限公司 撒么互联网科技公司 博兴的互联网电子科技公司 农村开互联网科技讲堂 字节跳动和互联网科技 互联网科技与大数据专业 中科明德北京互联网科技 上海钢联属于互联网科技股吗 城市宝互联网科技有限公司 有人说阿里系是互联网科技企业 下一代互联网重大应用科技园 容联科技互联网电商 广州智享互联网科技 互联网科技收购价值 互联网科技企业文化 互联网科技巨头监管 融势互联网科技 互联网科技宣传片 互联网之后的科技是什么 科技与互联网哪个更好 宜昌元轩互联网科技有限公司 互联网新科技动漫ppt素材 云南省自由互联网科技有限公司 中国科技和美国互联网 数字科技和互联网金融哪个好
0