av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

MongoDBGridFS

GridFS 是 MongoDB 的一種規(guī)范,用于存儲和檢索大型文件,如圖像、音頻、視頻等。GridFS 也是一種存儲文件的文件系統(tǒng),但其數(shù)據(jù)是存儲在 MongoDB 集合中的,GridFS 甚至可以存儲超過 16MB 的文件。在存儲文件時 GridFS 可以將一個文件分為多個數(shù)據(jù)塊,并將每個數(shù)據(jù)塊存儲在一個單獨的文檔中,每個文檔最大為 255KB。

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

下面展示了一個簡單的 fs.files 集合文檔:

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

該文檔指定了文件的文件名、塊大小、上傳日期和長度。下面展示了一個簡單的 fs.chunks 集合文檔:

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

將文件添加到 GridFS

想要將文件添加到 GridFS 中,可以使用 put 命令。下面的示例中演示了使用 put 命令在 GridFS 中存儲 mp3 文件的過程。在存儲文件時我們需要使用 mongofiles.exe,它在 MongoDB 安裝目錄下的 bin 目錄中。

打開命令行工具,跳轉(zhuǎn)到 mongofiles.exe 所在的目錄并輸入以下代碼:

C:\Users\79330>mongofiles.exe -d gridfs put F:/code/music/song.mp3
2021-03-09T09:38:22.271+0800    connected to: localhost
2021-03-09T09:38:22.333+0800    added file: F:/code/music/song.mp3

提示:若已經(jīng)將 MongoDB 安裝目錄下的 bin 目錄添加到了 Path 環(huán)境變量中,則可以省略跳轉(zhuǎn)到 bin 目錄的步驟,直接在命令行工具中輸入以上命令即可。

上面命令中 gridfs 為要存儲文件的數(shù)據(jù)庫名稱,如果數(shù)據(jù)庫不存在,那么 MongoDB 會自動創(chuàng)建;F:/code/music/song.mp3 為要存儲文件的路徑以及名稱。

若要查看我們上面保存在數(shù)據(jù)庫中的文檔,可以使用 find() 命令:

> db.fs.files.find().pretty()
{
        "_id" : ObjectId("6046d18e01ef664194f5a78c"),
        "chunkSize" : 261120,
        "uploadDate" : ISODate("2021-03-09T01:38:22.341Z"),
        "length" : 4148442,
        "md5" : "cc3495f49ece8212906ef5c59e7440f0",
        "filename" : "F:/code/music/song.mp3"
}

我們還可以通過上面查詢中返回的文檔 ID 來查看 fs.chunks 集合中與存儲文件相關(guān)的所有數(shù)據(jù):

> db.fs.chunks.find({files_id:ObjectId('6046d18e01ef664194f5a78c')})

上面的查詢返回了 15 個文檔的數(shù)據(jù),這意味著前面我們存儲的 song.mp3 文件被存儲到了 15 個區(qū)塊中。


本文標題:MongoDBGridFS
文章轉(zhuǎn)載:http://uogjgqi.cn/article/coejoec.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流