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();

files コレクションには、予想どおり 1234567 が含まれています。チャンク コレクションは file_id と同じ値を持ちます。

于 2013-02-11T04:03:32.793 に答える