Java 将数据附加到现有的gridfs文件

Java 将数据附加到现有的gridfs文件,java,mongodb,gridfs,mongodb-java,Java,Mongodb,Gridfs,Mongodb Java,正如我所看到的,java mongo驱动程序不提供从现有gridFS文件com.mongodb.gridFS.GridFSFile 我必须直接创建GridFSInputFile或使用gridFs.createFile()方法 是缺少java驱动程序还是gridfs的限制 除了创建新文件/删除旧文件之外,您能建议其他解决方法吗 谢谢GridFS不是MongoDB的核心功能,而是一种存储二进制数据和元数据的约定。您应该能够以常规方式修改fs.chunks集合中的任何文档,同时保持fs.files中相

正如我所看到的,java mongo驱动程序不提供从现有gridFS文件
com.mongodb.gridFS.GridFSFile

我必须直接创建
GridFSInputFile
或使用
gridFs.createFile()
方法

是缺少java驱动程序还是gridfs的限制

除了创建新文件/删除旧文件之外,您能建议其他解决方法吗


谢谢

GridFS不是MongoDB的核心功能,而是一种存储二进制数据和元数据的约定。您应该能够以常规方式修改
fs.chunks
集合中的任何文档,同时保持
fs.files
中相应文档的完整性。主要的问题是重新计算MD5校验和,但恐怕它没有在任何地方使用,只是一个“免费”奖金。无论如何,仍然可以只附加修改(请参阅)


因此,要附加到现有的GridFS文件,您需要在
fs.files
中找到相应的文档。然后,根据最后一个区块填充率(
length
%
chunkSize
==0),您可以在
fs.chunks
中重写最后一个区块文档,并考虑
chunkSize
,和/或简单地添加新区块,并增加
n
字段。下次更新
fs.files
中的
length
,可能还有其他元数据。

是的,听起来很简单,但我不明白为什么他们自己没有实现这个功能。可能存在一些陷阱或其他限制