瞭解數據類型
MySQL和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類型,時間戳能夠秒殺一切時間類型)
數據類型剖析
1.Object ID :
"_id" : ObjectId("5b151f8536409809ab2e6b26")
#"5b151f85" 代指的是時間戳,這條數據的產生時間
#"364098" 代指某臺機器的機器碼,存儲這條數據時的機器編號
#"09ab" 代指進程ID,多進程存儲數據的時候,很是有用的
#"2e6b26" 代指計數器,這裏要注意的是,計數器的數字可能會出現重複,不是惟一的
#以上四種標識符拼湊成世界上惟一的ObjectID
#只要是支持MongoDB的語言,都會有一個或多個方法,對ObjectID進行轉換
#能夠獲得以上四種信息
#注意:這個類型是不能夠被JSON序列化的
這是MongoDB生成的相似關係型DB表主鍵的惟一key,具體由24個字節組成:html
0-8字節是時間戳,數組
9-14字節的機器標識符,表示MongoDB實例所在機器的不一樣;post
15-18字節的進程id,表示相同機器的不一樣MongoDB進程。url
19-24字節是計數器spa
2.String :
UTF-8字符串,記住是UTF-8字符串3d
3.Boolean :
true or false 這裏首字母是小寫的unix
4.Integer :
整數 (Int32 Int64 大家就知道有個Int就好了,通常咱們用Int32)code
5.Double :
浮點數 (MongoDB中沒有float類型,全部小數都是Double)htm
6.Arrays :
{ "_id" : ObjectId("5b163830993ddc4cd4918ead"), "name" : "LuffyCity", "teacher" : [ "DragonFire", "WuSir2B", "Alex AGod" ] }
數組或者列表,多個值存儲到一個鍵 (list哦,大Python中的List哦blog
7.Object :
{ "_id" : ObjectId("5b163915993ddc4cd4918eaf"), "name" : "LuffyCity", "course" : { "name" : "Python", "price" : 19800 } }
若是你學過Python的話,那麼這個概念特別好理解,就是Python中的字典,這個數據類型就是字典
8.Null :
{ "_id" : ObjectId("5b163a0e993ddc4cd4918eb0"), "name" : "LuffyCity", "course" : null }
空數據類型 , 一個特殊的概念,None Null
9.Timestamp :時間戳
{ "_id" : ObjectId("5b163bbf993ddc4cd4918eb3"), "name" : "LuffyCity", "date" : 1528183743111 }
10.Date :
{ "_id" : ObjectId("5b163ba1993ddc4cd4918eb2"), "name" : "LuffyCity", "date" : ISODate("2018-06-05T15:28:33.705+08:00") }
存儲當前日期或時間格式 (咱們通常不多使用這個Date類型,由於時間戳能夠秒殺一切時間類型)