加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 系统 > 正文

一文快速了解MongoDB常见数据类别

发布时间:2022-04-26 08:41:59 所属栏目:系统 来源:互联网
导读:数据类型是数据库学习需要掌握的知识,对此这篇文章给大家分享有关MongoDB数据类型的内容,小编觉得挺实用的,需要的朋友可以参考学习,下面就跟随小编看看吧。 MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布
       数据类型是数据库学习需要掌握的知识,对此这篇文章给大家分享有关MongoDB数据类型的内容,小编觉得挺实用的,需要的朋友可以参考学习,下面就跟随小编看看吧。
 
       MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象).
 
       JSON的数据类型的局限性:
       1.无日期类型,对日期型的处理较为繁琐
       2.无法区分浮点数和整数、32位和64位
       3.其他类型表示局限 如函数、正则式等
 
       Mongodb使用BSON(Binary JSON)来组织数据,BSON还提供日期、32位数字、64位数字等类型。下面为在mongodb shell中这些类型在文档中是如何表示:
 
       1、null  用于表示空值或者不存在的字段。
 
{"name":null}
 
       2.布尔  布尔类型、即true和false
 
{"flag":true}/{"flag":false}
 
       3.数字  mongodb中分32位整数、64位整数、64位浮点数
 
         >JavaScript只支持64位浮点数,shell中对32位的整数会进行自动的转换:默认情况下,shell中的数字被mongdb当做是双精度。若从数据库中获取一个32位整数,修改了文档后在将文档保存到数据库的时候,这个整数已被转换成了浮点数(整数不变也会转换)。
       >shell中会用内嵌文档的方式显示64位整数:数字智能表示为双精度数(64位浮点数)的另一个问题是,有些64位的整数并不能精确的表示64位浮点数。因此要是存入了一个64位整数然后在shell中查看,它显示一个内嵌的文档,表示可能不准确。
       如:
       插入文档{"name":"apple","num":5},其中"num"设置为64位整数5.
       查看如下:
       { "_id" : ObjectId("5000f7af32e3988ad237a202"), "name" : "apple", "num" : {"floatApprox" : 5} }
       插入文档{"name":"orange","num":9223372036854775807}
 
       4.字符串  UTF-8字符串都可以表示为字符串类型的数据
 
       {"name":"orange"}
 
       5.符号  shell中不支持,并将数据库里的符号类型都转换成字符串
 
       6.对象id是文档的12字节的唯一ID
 
       {"x":Object()}
       Mongodb中存储的(同一个集合内)文档必须有,只有唯一的“_id”键。值可为任意类型,必须保证其唯一性,默认为ObjectId对象。至于mongodb为什么用ObjectId对象,以及它有什么好处等请翻阅相关资料。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读