MongoDB的文檔類似於JSON的格式
json資料類型:
Json包含6中資料類型,只有null、布爾、數字、字串、數組、對象這幾種資料類型.JSON中沒有日期類型,只有一種數字類型,沒辦法區分整形和浮點數,不能區分32位和64位。
MongoDB資料類型
MongoDB保留了JSON的索引值特性,添加了一些其他的資料類型。
null |
用於表示空值獲不存在字欄位 |
32位整形 |
javascript中只有一種數字類型,而MongoDB中有上面3中類型,預設情況下shell的數字都被MongoDB當作雙精確度。在shell下修改文檔中的32位整形,也會被轉換為64位浮點數。所以盡量不要在shell下面修改文檔 |
64位整形 |
64位浮點數 |
字串 |
UTF-8字串資料 |
id和ObjectId |
MongoDB中儲存的文檔必須有一個“_id”,這個鍵可以是任何值,預設是objectId對象,在集合中,每個文檔都有一個唯一的“_id”,來確保集合裡面每個文檔都能被唯一標識。ObjectId是MongoDB中“_id”的預設對象,產生方式有點類是於UUID,在不同的機器上都能用生存一個唯一的值。 |
日期 |
日期類型儲存是從標準紀元開始的毫秒數,不儲存時區 |
Regex |
採用javascript的Regex文法 |
代碼 |
可以包含javascript代碼,如 {a:function(){……}} |
二進位 |
任意位元組組成的串 |
最大值and最小值 |
是BSON中的特殊類型分別表示可能的最大最小值 |
未定義 |
undefined,在javascript中null和undefined是不同的類型 |
數組 |
值的集合表示為數組。同json數組一樣,數組是一組值,既可以作為有序對象(隊列、棧等)來操作,也可以作為無序對象來操作,數組中可以包含不同的資料類型的對象,甚至是嵌套數組 |
內嵌文檔 |
文檔可以包含別的文檔,也可以嵌入到父文檔中。內嵌文檔就是把整個MongoDB文檔當作另一個文檔中鍵的值。同數組一樣MongoDB能夠理解內嵌文檔的結構,並構建索引,執行查詢,更新等。 |
|
|
|
|
|
|
|
|
|
|
|
|