在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫/ MongoDB GridFS
MongoDB教程
MongoDB覆蓋查詢
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶密碼和自定義數(shù)據(jù)
MongoDB用戶
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫引用
MongoDB復制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫
MongoDB認證
MongoDB限制記錄數(shù)
MongoDB添加用戶
MongoDB固定循環(huán)集合
MongoDB高級索引
MongoDB數(shù)據(jù)庫的優(yōu)點
MongoDB快速入門
MongoDB創(chuàng)建數(shù)據(jù)庫
MongoDB啟用身份驗證
MongoDB歷史
MongoDB管理用戶和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達式
MongoDB查詢文檔
MongoDB關聯(lián)關系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB GridFS

GridFS是用于存儲和檢索大型文件(如圖像,音頻文件,視頻文件等)的MongoDB規(guī)范。它是一種用于存儲文件的文件系統(tǒng),但其數(shù)據(jù)存儲在MongoDB集合中。 GridFS存儲文件可超過文件大小限制為16MB的功能。

GridFS將文件劃分成塊,并將每個數(shù)據(jù)塊存儲在單獨的文檔中,每個文件的最大大小為255k。

默認情況下,GridFS使用兩個集合fs.filesfs.chunks來存儲文件的元數(shù)據(jù)和塊。 每個塊由其唯一的ObjectId字段_id標識。 fs.files作為父文檔進行切換。 fs.chunks文檔中的files_id字段將該塊鏈接到其父塊。

以下是fs.files集合的示例文檔 -

{
   "filename": "test.txt",
   "chunkSize": NumberInt(261120),
   "uploadDate": ISODate("2018-04-13T11:32:33.557Z"),
   "md5": "7b762939321e146569b07f72c62cca4f",
   "length": NumberInt(646)
}

文檔指定文件名,塊大小,上傳的日期和長度。

以下是fs.chunks文檔的示例文檔 -

{
   "files_id": ObjectId("595b99d9f6a6243715b3c312"),
   "n": NumberInt(0),
   "data": "Mongo Binary Data"
}

將文件添加到GridFS

現(xiàn)在,使用put命令存儲一個使用GridFS的mp3文件。 為此,我們將使用MongoDB安裝文件夾的bin文件夾中出現(xiàn)的mongofiles.exe工具程序。

打開命令提示符,導航到MongoDB安裝文件夾的bin文件夾中的mongofiles.exe,然后鍵入以下代碼 -

D:\Program Files\MongoDB\Server\3.4\bin> mongofiles.exe -d gridfs put song.mp3

這里,gridfs是要存儲文件的數(shù)據(jù)庫的名稱。 如果數(shù)據(jù)庫不存在,MongoDB將自動創(chuàng)建一個新的文檔。 song.mp3是上傳文件的名稱。 要在數(shù)據(jù)庫中查看文件的文檔,可以使用查詢查詢 -

> db.fs.files.find()

上述命令返回以下文檔 -

{
   _id: ObjectId('595b99d9f6a6243715b3c316'), 
   filename: "song.mp3", 
   chunkSize: 381120, 
   uploadDate: new Date(1398391643474), md5: "e4f53379c909f7bed2e9d631e15c1c41",
   length: 10401959 
}

還可以使用以前查詢中返回的文檔ID,查看與存儲文件相關的fs.chunks集合中存在的所有塊,并使用以下代碼:

>db.fs.chunks.find({files_id:ObjectId('595b99d9f6a6243715b3c316')})

在這個示例中,查詢返回50多個文件,表示整個mp3文件被分成50個數(shù)據(jù)塊。