JSONJSON是一种简单的数据表示,它易于理解、易于解析、易于记忆。但另一方面,JSON的局限性在于它只有null、boolean、number、string、array和object等数据类型。比如JSON没有日期类型,JSON只有一种数字类型,不能区分浮点数和整数,更不能区分32位和64位数字。此外,JSON不能表示其他一些常见类型,例如正则表达式或函数。BSONBSON(BinarySerializedDocumentFormat)是一种类JSON的二进制存储格式,简称BinaryJSON。和JSON一样,它支持嵌入文档对象和数组对象,但是BSON有一些JSON没有的数据类型,比如Date和BinData类型。它支持以下数据类型。每种数据类型对应一个数字。在MongoDB中,可以使用$type运算符查看对应文档的BSON类型。MongoDB4.2官方支持的数据类型如下:最常用的数据类型:ObjectID:文档自生成idString:String,mustbeutf-8Boolean:布尔值,trueorfalse(这里有个坑~在我们大PythonTrueFalse首字母大写)Integer:Integer(Int32Int64你们都知道有个Int,一般我们用Int32)Double:浮点数(没有float类型,所有小数都是Double)Arrays:数组或列表,存储多个值inakey(list,大Python中的List)Object:如果学过Python,那么这个概念就很好理解,在Python中就是字典,这种数据类型就是字典Null:空数据类型,一个特殊的concept,NoneNullTimestamp:时间戳Date:以unix时间格式存储当前日期或时间(我们一般不用这种Date类型,时间戳可以秒杀所有时间类型)*ObjectID文档自动生成的_id,长度为24个字符。0-8字节是时间戳,9-14字节是机器标识,表示MongoDB实例所在的不同机器;15-18字节是processids,表示同一台机器上的不同MongoDB进程。19-24字节是counterStringUTF-8字符串,记住是UTF-8字符串。Integer整数(Int32Int64我们知道有一个Int,一般我们用Int32)Double浮点数(MongoDB中没有float类型,所有小数都是Double)Booleantrue或false,首字母小写Array数据或列表,multiple值存储在一个键对象中,类似于Python中的字典,键是唯一的空值TimestamptimestampDate默认时间为标准时间(UTC),需要转换为当前时间。这种Date类型很少用到,因为时间戳可以秒杀所有时间类型。MongoDB常用数据类型的分享到此结束。更多关于MongoDB数据类型的内容,请搜索服务器之家往期文章或继续浏览下方相关文章。希望大家以后多多支持服务器之家!原文地址:https://blog.51cto.com/u_12592884/2781956
