MongoDB學習筆記_7_大文件存儲


大文件存儲

文件的數據庫存儲

  1. 在數據庫中以字符串的方式存儲文件在本地的路徑
    • 優點:節省數據庫空間
    • 缺點: 當數據庫或者文件位置發生變化時即無法找到文件
  2. 將文件以二進制數據的方式存儲在數據庫中
    • 優點:文件和數據庫綁定
    • 缺點:當存儲文件大時,空間使用大,提取困難
  3. MongoDB中存儲大文件
    • GridFS:是MongoDB中存儲大文件的一種方案,MongoDB中認為超過16M的文件為大文件
      • 將文件存儲在MongoDB中,通過兩個集合共同完成該文件的存儲
      • fs.files:存儲文件的相關信息,比如: 文件名fileName 文件類型 content_type
      • fs.chunks:實際存儲文件內容, 以二進制方式分塊存儲,將大文件分成多個小塊,每個小塊占一條文檔
      • 存入文件 命令行中mongofiles -d dbname put filename
      • 查看文件信息 db.fs.files.find()
      • 查看具體文件內容
        • db.fs.chunks.find({files_id:ObjctId('xxxx')})
        • fs.chunks的域
          • files_id:值為對應文件子啊fs.files集合中的文檔的_id值
          • n:分塊信息
          • data:集體文件內容
    • 優點:存儲方便,沒有文件個數限制,方便移植
    • 缺點:讀寫效率低,只能整體修改不能分塊更新


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM