1. 程式人生 > >mongodb存儲二進制數據

mongodb存儲二進制數據

ase drive o-c 進制 com 記錄 內容 免除 使用

mongodb 3.x存儲二進制數據並不是以base64的方式,雖然在mongo客戶端的查詢結果以base64方式顯示,請放心使用。下面來分析存儲文件的存儲內容。base64編碼數據會增長1/3成為顧慮。

首先看mongo的c-driver對Binary類型數據的相關定義。註意下面提到了JS,要清楚官方提供給我們的mongo-client是使用JS語言的。

技術分享

下面我將會存儲一張圖片,圖片的hexdump如下面

技術分享

向mongo插入數據後,用mongo-client查詢顯示如下,我們的圖片數據顯示為Base64內容,但是不要慌,這是JS語言下的顯示,並不是實際底層存儲。

技術分享

最後我們看這條記錄的物理存儲

技術分享

結論,mongodb其實是以二進制的方式存儲Binary數據。base64編碼數據會增長1/3的顧慮可以免除。

mongodb存儲二進制數據