日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mongo读书笔记1 -- GridFS

發布時間:2023/11/29 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mongo读书笔记1 -- GridFS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

  • 一個Mongo文檔最大4M.
  • GridFS不依賴于MongoDB, 其他符合規范的驅動都可以訪問它。
  • GridFS包含兩部分:一部分存儲文件名和其他metadata; 另一部分存儲實際的文件,通常分成一個個大小為256k的小塊。

    這兩個部分通常被命名為files和chunks,在fs命名空間下,當然,這些都可以通過配置來更改。當你想區分不同的文件類型時,比如區分圖片和視頻,使用不同的命名空間是有用的。

  • Mongofiles工具:
  • 列出mongofiles.

    mongofiles list

    如果要訪問遠程服務器,用-h 比如:

    mongofiles list –h remoteserver1

  • ????

  • 上傳文件:

    monofiles put <文件路徑>

    上傳后如果用mongofiles list來查看,發現存儲的名字就是原文件的完成路徑,但是實際上是存在GridFS中。也就是說,如果把原文件刪了,GridFS還是可以查到的。

  • 獲取文件 :

    mongofiles get <文件路徑>

    注意:這一操作會覆蓋實際的物理文件。比如:把一個文件傳到GridFS后,然后做了一些更改,再執行get操作,那么這段時間的更改都會被覆蓋掉。

  • 刪除文件。

    mongofiles delete <文件路徑>

  • 搜索文件

    mongofiles search <關鍵字>

  • ?

  • 當上傳同一文件兩次時,mongo會存兩個同名的文件,只有_id屬性不同。
  • GridFS默認的chunk大小是 256k, 知道這個大小是必要的,因為你可以知道你的文件存儲的時候被分成多少塊。當然數據庫驅動會為你處理所有的事情,你在存儲的時候不需要擔心這些chunk size相關的問題。
  • Mongo依賴于MD5來實現security 和 integration, security是為了防止沒有權限的用戶訪問了不該他訪問的資源,integration確保文件不被更改。

    MD5現在已經不安全,理論上可以產生用同一個md5 checksum(或者md5 hash)產生兩個不同的文件(這種情況被稱為collision),但是由于做此事的工作量非常大,而且把文件的其他屬性用做成一樣的非常難,而且有的沒有意義,所以實際上還是可以繼續用MD5.

    如果你基于安全性考慮,最好用SHA家族的算法,最理想的是SHA-256或者SHA-512, 盡管理論上這些算法也有風險,但是目前還沒有遇到實際這樣做出的例子。但是,對于用戶名密碼等重要的數據,你可能要考慮用SHA家族的算法來進行加密.

  • 查看GridFS 的命令。
  • db.fs.files.find() 查看GridFS metadata的集合。

  • db.fs.chunks.find() 查看實際的文件塊,以256k為單位。

    ?

    這里需要注意的是,GridFS只是數據存儲的地方,當files集合中的一條記錄被刪除時,GridFS不會自動刪除chunks中對應的記錄,需要數據庫驅動程序(比如Mongo c++ driver)來做這種清理工作。所以,雖然你可以在程序中直接操作files集合,但是最好還是通過數據庫驅動程序(比如比如Mongo c++ driver)來操作。

    ?

  • ?

    ?

    (The Definitive Guide to MongoDB)

    ?

    總結

    以上是生活随笔為你收集整理的Mongo读书笔记1 -- GridFS的全部內容,希望文章能夠幫你解決所遇到的問題。

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