MongoDB常用数据类型分享(mongodb常用语法)一篇读懂

随心笔谈2年前发布 admin
208 0 0

文章摘要

这篇文章介绍了MongoDB中支持的数据类型,对比了JSON和BSON(Binary JSON)的差异。JSON虽然简洁,但缺乏一些高级数据类型;而BSON作为JSON的二进制增强版,支持更多的数据类型,如Date、BinData等。文章详细列出了MongoDB 4.2支持的常用数据类型,包括: - **Object ID**:自动生成的唯一标识符,长度24字符。 - **String**:UTF-8字符串。 - **Boolean**:布尔值,支持true/false。 - **Integer**:支持Int32和Int64。 - **Double**:浮点数,所有小数均为Double类型。 - **Array**:数组或列表。 - **Object**:类似于Python字典的结构。 - **Null**:空值。 - **Timestamp**:时间戳,支持UTC时间。 - **Date**:存储日期和时间,默认为UTC,需转换为本地时间。 文章特别提到,虽然MongoDB中没有float类型,所有小数都是Double类型;时间戳比Date类型更推荐使用,因为时间戳可以更精确地表示时间。文章还强调了MongoDB数据类型的丰富性及其在实际应用中的优势。



目录JSONBSONObject IDStringIntegerDoubleBooleanArrayObjectnullTimestampDate

    JSON是一种简单的数据表示方式,它易于理解、易于解析、易于记忆。但从另一方面来说,因为只有null、布尔、数字、字符串、数组和对象这几种数据类型,所以JSON有一定局限性。例如,JSON没有日期类型,JSON只有一种数字类型,无法区分浮点数和整数,更别说区分32为和64位数字了。再者,JSON无法表示其他一些通用类型,如正则表达式或函数。

    BSON(Binary Serialized Document Format)是一种类JSON的二进制形式的存储格式,简称Binary JSON。它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。它支持下面数据类型。每个数据类型对应一个数字,在MongoDB中可以使用$type操作符查看相应的文档的BSON类型。

MongoDB 4.2官方支持数据类型如下:

MongoDB数据类型_MongoDB

MongoDB数据类型_MongoDB_02

最经常使用的数据类型:

Object  ID :Documents 自生成的 idString: 字符串,必须是utf-8Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)Double:浮点数 (没有float类型,所有小数都是Double)Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典Null:空数据类型 , 一个特殊的概念,None NullTimestamp:时间戳Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)*

文档自动生成的_id,长度为24个字符。

0-8字节是时间戳,

9-14字节的机器标识符,表示MongoDB实例所在机器的不同;

15-18字节的进程id,表示相同机器的不同MongoDB进程。

19-24字节是计数器

MongoDB数据类型_MongoDB_03

UTF-8字符串,记住是UTF-8字符串。

MongoDB数据类型_MongoDB_04

整数 (Int32 Int64 我们就知道有个Int就行了,一般我们用Int32)

MongoDB数据类型_MongoDB_05

浮点数 (MongoDB中没有float类型,所有小数都是Double)

MongoDB数据类型_MongoDB_06

true或者false,首字母为小写

MongoDB数据类型_MongoDB_07

数据或者列表,多个值存储到一个键

MongoDB数据类型_MongoDB_08

类似于Python里的字典,key是唯一的

MongoDB数据类型_MongoDB_09

空值

MongoDB数据类型_MongoDB_10

时间戳

MongoDB数据类型_MongoDB_11

默认时间为标准时间(UTC)

MongoDB数据类型_MongoDB_12

需要转换为当前时间。

很少使用这个Date类型,因为时间戳可以秒杀一切时间类型。

到此这篇关于MongoDB常用数据类型分享的文章就介绍到这了,更多相关MongoDB数据类型内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:使用aggregate在MongoDB中查询重复数据记录的方法MongoDB数据库的特色和优点介绍Mongoose find 查询返回json数据处理方式

© 版权声明

相关文章