MongoDB数据类型
mongoDB之数据类型
Object ID :Documents 自生成的 _id
String : 字符串,必须是utf-8
Boolean :布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)
Integer :整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
Double :浮点数 (没有float类型,所有小数都是Double)
Arrays :数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)
Object :如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
Null :空数据类型 , 一个特殊的概念,None Null
Timestamp :时间戳
Date :存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)
剖析MongoDB的数据类型
1.Object ID :
"_id" : ObjectId("5c20a8e0dc7c571cfd2f98d8") #"5c20a8e0" 代指的是时间戳,这条数据的产生时间 #"dc7c57" 代指某台机器的机器码,存储这条数据时的机器编号 #"1cfd" 代指进程ID,多进程存储数据的时候,非常有用的 #"2f98d8" 代指计数器,这里要注意的是,计数器的数字可能会出现重复,不是唯一的 #以上四种标识符拼凑成世界上唯一的ObjectID #只要是支持MongoDB的语言,都会有一个或多个方法,对ObjectID进行转换 #可以得到以上四种信息 #注意:这个类型是不可以被JSON序列化的
这是MongoDB生成的类似关系型DB表主键的唯一key,具体由24个字节组成:
0-8字节是时间戳,
9-14字节的机器标识符,表示MongoDB实例所在机器的不同;
15-18字节的进程id,表示相同机器的不同MongoDB进程。
19-24字节是计数器
2.string :
UTF-8字符串,记住是UTF-8字符串
3.Boolean :
true or false 这里首字母是小写的
4.Integer :
整数 (int16 Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
5.Double :
浮点数 (MongoDB中没有float类型,所有小数都是Double)
6.Arrays :
{ "_id" : ObjectId("5c20d567c2d3e03f2c68a76e"), "name" : "lin", "age" : 23, "hobby" : [ "a", "b", "c", "d" ] }
数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦
7.Object :
{ "_id" : ObjectId("5c20d640c2d3e03f2c68a76f"), "name" : "xiaoming", "age" : 26, "hobby" : [ "a", "b", "c", "d" ], "宠物" : { "name" : "小黑", "age" : 3.6 } }
如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
8.Null :
{ "_id" : ObjectId("5c20d640c2d3e03f2c68a76f"), "name" : "xiaoming", "age" : 26, "hobby" : [ "a", "b", "c", "d" ], "宠物" : null }
空数据类型 , 一个特殊的概念,None Null
9.Timestamp :
{ "_id" : ObjectId("5c20da3cc2d3e03f2c68a774"), "ttime" : Timestamp(1545656892, 1) }
9.Date:
{ "_id" : ObjectId("5c20dab6c2d3e03f2c68a775"), "dtime" : ISODate("2018-12-24T21:10:14.923+08:00") }
存储当前日期或时间格式 (我们一般很少使用这个Date类型,因为时间戳可以秒杀一切时间类型)