日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

MongoDB(四)——GridFS

發布時間:2024/3/13 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB(四)——GridFS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GridFS

MongoDB的一個重要子模塊,可基于MongoDB來持久存儲文件,并且支持分布式存儲和讀取。

持久存儲:對應瞬時數據如內存,指保存到數據庫中,能持久保存。
分布式存儲:將數據分散地存儲于多個位置。

存在的意義

MongoDB采用BSON格式存儲數據,對數據的大小限制為16M,但是在實際的系統開發中,上傳的圖片或文件可能尺寸會很大,此時可以使用MongoDB中的GridFS解決,通常用來處理大文件的存儲。

存儲原理

GridFS使用兩個集合來存儲文件:

  • fs.chunks:存儲文件的二進制數據(一個文件有一到多條數據)
  • fs.files:存儲文件的元數據(一個文件只有一條數據)

元數據:用來描述數據的數據,如數據大小、創建時間、文件名、格式類型等。

存儲數據

當一個文件存儲到GridFS時,如果文件大于chunksize(一個chunk的大小,256KB),會將文件按照chunk的大小分割成多個chunk塊,最終將chunk塊的信息存儲在fs.chunks集合的多個文檔中,然后將文件信息存儲在fs.files集合的唯一一份文檔中。

讀取文件

先根據查詢條件在fs.files集合中找到對應的文檔,得到_id字段,在查詢對應fs.chunks集合中所有files_id和_id相同的文檔,最后根據n字段的順序讀取chunk的data字段二進制數據,還原文件。

使用GridFS

mongofiles是GridFS的實用工具,用于管理GridFS文件,在MongoDB安裝目錄下的bin目錄中,可在命令行直接使用。

上傳文件mongogiles put 文件名


生成的fs.files:

生成的fs.chunks:(我上傳的file.mov共750KB,分成了3個chunk)

列出文件mongofiles list

下載文件mongofiles get 文件名

刪除文件mongofiles delete 文件名


  • GridFS詳述
  • Node.js中使用GridFS

總結

以上是生活随笔為你收集整理的MongoDB(四)——GridFS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。