加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB常见数据类型

发布时间:2023-12-28 20:52:03 所属栏目:系统 来源:DaWei
导读: 数据类型是数据库学习需要掌握的知识,对此这篇文章给大家分享有关MongoDB数据类型的内容,小编觉得挺实用的,需要的朋友可以参考学习,下面就跟随小编看看吧。

MongoDB的文档类似于JSON
数据类型是数据库学习需要掌握的知识,对此这篇文章给大家分享有关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中查看,它显示一个内嵌的文档,表示可能不准确。

4.字符串  UTF-8字符串都可以表示为字符串类型的数据

{"name":"orange"}

5.符号  shell中不支持,并将数据库里的符号类型都转换成字符串

6.对象id是文档的12字节的唯一ID

 {"x":Object()}

7.日期型  存储的是从标准纪元开始的毫秒数,不存储时区。

{"name":"xx","date":new Date()}  本机查看:{ "_id" : ObjectId("5001047632e3988ad237a206"), "name" : "xx", "date" : ISODate("2012-07-14T05:32:38.189Z") }

8.正则式  文档中可以包含正则表达式,采用javascript的正则表达式语法

 {"regex":/[0-9]/g}

9.代码或者函数  javascript代码(mongodb中值直接保存到数据库,不对值进行执行,因此不存在安全问题)

{"setName":function(){var name="jk";alert(name)}}

10.二进制数  可以由任意字节的串组成。shell中无法使用。

从面向对象的角度来理解文档,文档就是个对象,文档里面的key/value就是属性和属性值。

关于MongoDB数据类型的介绍就到这,希望大家阅读完这篇文章能有所收获,想要了解更多MongoDB数据类型内容,可以浏览其他相关文章。

(编辑:宁德站长网)

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

    推荐文章