【MongoDB學習筆記29】MongoDB的GridFS儲存深入

來源:互聯網
上載者:User

標籤:mongodb   gridfs   

GridFS的原理是將大檔案分割為多個比較大的塊,將每個塊作為獨立的文檔進行儲存。

(1)GridFS中的塊會被存貯到專用的集合中,預設為fs.chunks;

(2)除了將檔案的每一個塊單獨儲存外,還需要將每個檔案塊的元資訊放入一個文檔儲存,並將這些文檔預設集中在fs.files集合中;

例如將foo.txt文檔加入到資料庫foo中:

[[email protected] ~]# echo "hello world" >foo.txt   [[email protected] ~]# mongofiles -d foo put foo.txt    connected to: 127.0.0.1    added file: { _id: ObjectId(‘54b3d62983047a88669bc529‘), filename: "foo.txt", chunkSize: 261120, uploadDate: new Date(1421071914003), md5: "6f5902ac237024bdd0c176cb93063dc4", length: 12 }    done!

查看相應的集合:

> show collections  fs.chunks  fs.files  system.indexes  >

查看這個文檔:

[[email protected] ~]# mongo foo   MongoDB shell version: 2.6.6    connecting to: foo    > db.fs.chunks.findOne()    {        "_id" : ObjectId("54b51dc15caeb0e1a8722e8d"),        "files_id" : ObjectId("54b51dc0c3ab6ae7c08f6028"),        "n" : 0,        "data" : BinData(0,"aGVsbG8gd29ybGQK")    }    >

files_id:塊所屬檔案的元資訊;

n: 塊在檔案中的相對位置;

data:塊所包含的位元據;

> db.fs.files.findOne()   {        "_id" : ObjectId("54b51dc0c3ab6ae7c08f6028"),        "filename" : "foo.txt",        "chunkSize" : 261120,        "uploadDate" : ISODate("2015-01-13T13:29:37.525Z"),        "md5" : "6f5902ac237024bdd0c176cb93063dc4",        "length" : 12    }    >

_id:檔案的唯一ID,跟檔案的每個塊中的files_id的值是一致的;

length:檔案所包含的位元組數;

chunkSize:組成檔案的每個塊的大小,單位是位元組;

updateDate:檔案被上傳到GridFS的時間;

MD5:檔案的MD5值,由伺服器計算所得;



本文出自 “緣隨心愿” 部落格,請務必保留此出處http://281816327.blog.51cto.com/907015/1603698

【MongoDB學習筆記29】MongoDB的GridFS儲存深入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.