1

我的问题与下面的问题相同,只是我想使用 java 驱动程序来执行此操作。

使用 PHP 在 mongo GridFs 中创建自己的 files_id

上述问题中针对 Java 驱动程序给出的 googlegroup 链接实际上是针对 C# 驱动程序的。检查Java驱动程序GridFS api,似乎没有办法为GridFS文件集合设置_id字段。

有什么办法可以用 Java 驱动程序做到这一点,如果我不得不切换到使用其他驱动程序,它会造成很多不必要的混乱?

4

1 回答 1

0

GridFSInputFile 类的 Put 方法用于向 JSON 对象添加附加字段。因此,如果您添加默认为 ObjectId 的“_id”字段,它将覆盖 ObjectId。

我在 2.2.3 版本上尝试了以下代码并且它有效。

GridFSInputFile gif = gridfs.createFile(new File("c:\\image.jpg"));
gif.put("_id", 1234567);
gif.save();

文件集合按预期包含 1234567。chunks 集合与 file_id 具有相同的值。

于 2013-02-11T04:03:32.793 回答