2 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
GridFS 是一個(gè)不錯(cuò)的選擇。你得到:
驅(qū)動(dòng)程序自動(dòng)創(chuàng)建索引,從而實(shí)現(xiàn)高效檢索
如果您的圖像超過 16 MB,則可以靈活處理
獨(dú)立的元數(shù)據(jù)和內(nèi)容存儲(chǔ)
您也可以使用二進(jìn)制類型并將圖像數(shù)據(jù)直接存儲(chǔ)在字段中。這會(huì)減少開銷,但是:
您應(yīng)該仍然單獨(dú)存儲(chǔ)內(nèi)容的元數(shù)據(jù),或者對該解決方案與內(nèi)容內(nèi)聯(lián)在文檔中的解決方案進(jìn)行基準(zhǔn)測試(因?yàn)楫?dāng)您只需要元數(shù)據(jù)時(shí),跳過內(nèi)容字節(jié)可能會(huì)很慢)
您需要自己處理元數(shù)據(jù)

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
建議您將較?。ㄐ∮?6MB)的文件作為Buffer類型(即BSON二進(jìn)制類型)的數(shù)據(jù)保存到MongoDB中。BSON 二進(jìn)制類型用于存儲(chǔ)任何類型的二進(jìn)制數(shù)據(jù)。BSON 二進(jìn)制類型對應(yīng)于 RDBMS BLOB 類型,它是 MongoDB 提供的兩種二進(jìn)制對象存儲(chǔ)(另一種是 GridFS)的基礎(chǔ)。GridFS 是 MongoDB 中的一項(xiàng)規(guī)范,它可以通過將給定文件劃分為多個(gè)塊來在 MongoDB 中存儲(chǔ)大型文件(例如視頻、大型音頻文件和圖像),這反過來又使我們能夠僅獲取和加載文件的部分內(nèi)容,如下所示必需的,而不是檢索整個(gè)文件。
如果您需要存儲(chǔ)的所有文件大小都小于 16 MB,建議您不要使用 GridFS。如果是這種情況,并且您仍然想利用 MongoDB,只需將文件直接存儲(chǔ)在普通的 MongoDB 文檔中即可。BSON 文檔的最大大小為 16 MB,因此如果您的所有文件都較小,那么使用 GridFS 會(huì)浪費(fèi)資源。
但出于教育目的,如果您對小于 16MB 的文件使用 GridFS 并沒有什么問題,以上僅適用于生產(chǎn)級別的項(xiàng)目。
添加回答
舉報(bào)