我所看到的Java蒙戈驅動程序不提供能力得到OutputStream
從現有GridFS的文件com.mongodb.gridfs.GridFSFile
將數據添加到現有GridFS的文件
我直接創建GridFSInputFile
或使用gridFs.createFile()
方法。
是缺少java驅動還是限制gridfs?
你能建議任何解決辦法,除了創建新文件/刪除舊的?
謝謝
我所看到的Java蒙戈驅動程序不提供能力得到OutputStream
從現有GridFS的文件com.mongodb.gridfs.GridFSFile
將數據添加到現有GridFS的文件
我直接創建GridFSInputFile
或使用gridFs.createFile()
方法。
是缺少java驅動還是限制gridfs?
你能建議任何解決辦法,除了創建新文件/刪除舊的?
謝謝
GridFS的不是MongoDB中的核心功能,但存儲二進制數據伴隨元數據的約定。您應該能夠以通常的方式修改fs.chunks
集合中的任何文檔,同時保持完整的fs.files
中的相應文檔。主要問題將是重新計算MD5校驗和,但AFAIK不會在任何地方使用,只是一個「免費」獎金。無論如何,它仍然可以進行僅附加修改(請參閱MD5 digest of a resumed download)。
因此,要追加到現有的GridFS文件,您需要在fs.files
中找到相應的文檔。然後根據上一個塊填充比率(length
%chunkSize
== 0),您要麼重寫fs.chunks
中最後一個塊文檔,並且/或者只需添加新塊並添加n
字段。接下來更新length
的fs.files
以及可能的其他元數據。
是的,聽起來很容易,但我不明白他們爲什麼沒有自己實現這個功能。可能有一些陷阱或其他限制 – user12384512 2011-06-09 13:11:16