關於 GridFS
為了不受 16 MB 的大小限制,GridFS 將檔案分成多個部分或區塊,並將每個區塊儲存為單獨的文件。預設情況下,GridFS 使用的預設區塊大小只有 255 KB。檔案會被分成 255 KB 的區塊,除了最後一個區塊,這是剩下的任何位元組。同樣,小於區塊大小的檔案只有一個最後的區塊,只使用所需的空間和一個位元的額外的中繼資料。
在背後,GridFS 實際上使用兩個集合來儲存檔案:一個集合用於儲存檔案區塊,另一個用於儲存檔案中繼資料。
GridFS 不僅可用於儲存大小超過 16 MB 的檔案,還可用於儲存你想存取的任何檔案,而無需將整個檔案載入記憶體中。
在 Navicat for MongoDB 儲存大型檔案
Navicat 支援 GridFS 儲存桶,並為此提供了一個實用的工具。按一下主工具列上的大 GridFS 按鈕將顯示一個新索引標籤,其中包含用於處理檔案的多個命令。如果你之前未曾加入任何檔案就只會啟用「新增儲存桶」按鈕:
假設你有一個大型的影片檔案,並希望將它放入電影資料庫中。你就需要一個儲存桶來加入檔案,為此按一下工具列上的「新增儲存桶」按鈕,然後在「GridFS 儲存桶名稱」對話方塊中輸入儲存桶的名稱。
你可以按一下「上載檔案」來加入檔案:
「檔案瀏覽」對話方塊將會開啟,讓你可以巡覽至你的檔案。按一下「檔案瀏覽」對話方塊中的「上載」按鈕開始上載。進度將顯示在螢幕底部的進度列中:
完成上載後,你將能夠檢視檔案的詳細資料:
以下是檔案的詳細資料對應於 GridFS 檔案集合欄位:
{"_id" : <ObjectId>,
"length" : <num>,
"chunkSize" : <num>,
"uploadDate" : <timestamp>,
"md5" : <hash>,
"filename" : <string>,
"contentType" : <string>,
"aliases" : <string array>,
"metadata" : <any>,
}
Navicat 也可以處理更小的檔案。它特別擅長處理圖像,並具有預覽功能,因此你可以檢視圖像而無需使用其他工具開啟圖像:
擷取檔案
將檔案上載到資料庫後,你無需在檔案系統上保留複本。在任何時候,只需按一下「下載」按鈕並選取要儲存檔案的資料夾就能下載它:
這樣在 Navicat for MongoDB 中探索 GridFS 儲存桶就結束了!
