您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了MongoDB數據類型,文中示例介紹的非常詳細,圖文詳解容易學習,非常適合初學者入門,感興趣的小伙伴們可以參考一下。
MongoDB的文檔其實和JSON很類似,與JavaScript的對象概念也很像。但是MongoDB的數據類型更加豐富。下面我們一一介紹MongoDB的數據類型。
數據類型 | 描述 | 舉例 |
null | 表示空值或者未定義的對象 | {“x”:null} |
布爾值 | 真或者假:true或者false | {“x”:true} |
32位整數 | 32位整數。shell是不支持該類型的,shell中默認會轉換成64位浮點數 | |
64位整數 | 64位整數。shell是不支持該類型的,shell中默認會轉換成64位浮點數 | |
64位浮點數 | 64位浮點數。shell中的數字就是這一種類型 | {“x”:3.14,“y”:3} |
字符串 | UTF-8字符串 | {“foo”:“bar”} |
符號 | shell不支持,shell會將數據庫中的符號類型的數據自動轉換成字符串 | |
對象id | 文檔的12字節的唯一id | {“id”: ObjectId()} |
日期 | 從標準紀元開始的毫秒數 | {“date”:new Date()} |
正則表達式 | 文檔中可以包含正則表達式,遵循JavaScript的語法 | {“foo”:/foobar/i} |
代碼 | 文檔中可以包含JavaScript代碼 | {“x”:function() {}} |
二進制數據 | 任意字節的二進制串組成,shell不支持 | |
最大值 | 表示可能的最大值,shell不支持 | |
最小值 | 表示可能的最小值,shell不支持 | |
未定義 | undefined | {“x”:undefined} |
數組 | 值的集合或者列表 | {“arr”: [“a”,“b”]} |
內嵌文檔 | 文檔可以作為文檔中某個key的value | {“x”:{“foo”:“bar”}} |
上面的大部分類型都是顯而易見的,但是有必要詳細解釋一下對象id類型。我們上面說了,對象id類型是一個12字節的唯一id。每個字節2位16進制數,因此整個id類型是一個24位的字符串。其結構如下表所示:
前面四個字節代表從標準紀元開始的時間戳,以秒為單位。
我們之前提到過,如果不在插入的時候手動的添加_id鍵,那么系統會自動添加一個。盡管MongoDB的id類型被設計成輕量級的,但是這樣還是會不好。畢竟服務器創建這個還是會有開銷的。因此,這個工作一般會放到客戶端來做。
參考書籍
《MongoDB:The definitive guide》
以上就是MongoDB數據類型的詳細介紹,內容較為全面,而且我也相信有相當的一些工具可能是我們日常工作可能會見到或用到的。通過這篇文章,希望你能收獲更多。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。