1. 存儲類型
mongodb文檔類似於json。但不是全然的json。
json僅僅有六種類型:null。 bool。 數字,字符串。數組。對象。
可是mongo的文檔在json的基礎上還擴展了幾種類型。 比方,日期類型,整數,浮點數。
mongodb真正存儲在磁盤上是使用bson(binary json)。
2. 經常使用數據類型
null: 表示不存在或空值。
bool : true 和 false。
string: 字符串, 用引號包括。
3. 數字
json中僅僅有數字類型。
而mongodb中有三種:
32位整數
64位整數
64為浮點數
數字默認是依照浮點數存儲的。
4. 日期
日期類型存儲從標准紀元開始的毫秒數。
{"x" : new Date()}
5. 數組
能夠存儲數組
{"x" : ["a", "b", "c"]}
6. 內嵌文檔
把一個文檔作為還有一個文檔的一個值。
{“x” : {"foo" : "bar"}}
7. _id
mongdb文檔必須有個“_id”key。默認是個ObjectId對象。
ObjectId使用12個字節存儲空間,每一個字節兩位16進制數字,是24位字符串。
分配例如以下圖所看到的

前四個字節為時間戳。因為在前面,使Objectid大概依照時間戳排序。
將其作為索引提高效率。
pid為進程標識符,
計數器為每秒的計數器。每秒能夠生成(16*16 = 256)的三次方。
_id能夠程序來生成,不用系統自己主動,這就須要保證每一個id不能反復。
8. 其它
文檔中還能夠包括正則表達式, javascript代碼,二進制數據。