当前位置: 首页 > 面试题库 >

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

查学文
2023-03-14
问题内容

如我所见,java
mongo驱动程序不提供OutputStream从现有gridFS文件获取的功能com.mongodb.gridfs.GridFSFile

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

是否缺少Java驱动程序或gridfs的限制?

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

谢谢


问题答案:

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

因此,要追加到现有GridFS文件中,您需要在中找到相应的文档fs.files。然后取决于最后一个块填充比(lengthchunkSize==
0)你要么重写最后一个块文档中fs.chunks尊重chunkSize,和/或简单地用递增添加新的块(或多个)n字段。下次更新lengthfs.files和其他可能的元数据。



 类似资料:
  • 我正在使用下面的代码。然而,当我运行代码时,我想在同一个TXT文件中一个接一个地添加新的XML。这是否可以使用JDOM。请帮帮我。。 xmlOutput。输出(文档,新FileWriter(“c:\updated.txt”));是否需要修改?

  • 问题内容: 我正在尝试创建一个将条目添加到json文件的函数。最终,我想要一个看起来像 等。这就是我所拥有的: 这确实会创建一个条目,例如。但是,如果我再次使用此函数(使用不同的名称和网址),第一个函数将被覆盖。我需要怎么做才能将第二个(第三个…)条目附加到第一个? 编辑 :对此问题的第一个答案和评论已经指出了我在写块中未使用的明显事实。不过,我看不出该怎么做。例如,以下内容显然不会起作用: 问题

  • 问题内容: 我已经创建了两个XML文档,并且想将这两个文档合并到一个新的信封中。所以我有 和 我想做的是将两个节点合并到一个根节点中: 合并的文档 我尝试创建一个临时文档,并用文档的根节点替换子级: 我当时希望用两个文档的根元素替换两个空格,但我得到“ WRONG_DOCUMENT_ERR:一个节点在与创建它的文档不同的文档中使用”。我尝试采用和导入根节点,但是遇到相同的错误。 是否有一些简便的方

  • 问题内容: 我有这个.json文件: 这是我的PHP代码: 问题是,我不确定如何实现它。每次提交表单时,我都会在上面调用此代码,因此我需要ID递增,并且还要使用和保持有效的JSON结构,这可能吗? 问题答案:

  • 我有3个维度为(a*2、b*2、c*2)的数据帧,而a、b、c是不同的数字。我想把它们添加到一个csv文件中,但每次都写不出来。我使用了csv的熊猫数据帧输出端 但做不到。 我的代码- 但是,我得到的最终输出是最后一个数据帧,而不是所有其他数据帧。

  • 我已经创建了一个XML解析器来将XML文件中的信息检索到java,然后我尝试将这些数据存储到ArrayList中,以便将ArrayList用于我的方法。当我打印出来时,它似乎工作得很好。然而,由于某种原因,我得到了一个名为getAllRoutes的方法,它返回了错误的路由数