2

MongoDB GridFS にいくつかのデータがあります。Spring DataGridFsOperationsクラスを使用して GridFS の読み取り/書き込みを行っています。

既存の GridFS ファイルの内容を置き換える必要が_idありfilenameます。

Spring Data [GridFsOperations]( API ) は主にfind、Mongo を返すGridFSDBFilestore. GridFSDBFile( API ) はコンテンツの更新を許可しません。ファイルが最初に削除され、次に以前のファイルstoreと同じように保存された場合、理論的にはこの方法を使用できます。_idただし、フィールドstoreを指定することはできません。_id

これまでに見つけた唯一の解決策は、Mongo API を直接使用して既存のファイルを削除し、新しいファイルを同じ .xml ファイルに保存すること_idです。この効果に対する回答は役に立ちません。質問は Spring Data MongoDB に固有のものです。

4

1 に答える 1

0

API がまだ公開されていない理由は、MongoDB GridFS でそれがサポートされていないためです。ここで説明されているようなパターンを実装することで、基本的にこの問題を回避できます。しかし、これは非アトミック操作に要約されるため、そもそも操作として公開しないことにしました。

このパターンの信頼できる実装 (およびエラー ケースの適切な処理) がある場合は、JIRAでチケットを開いてオプションについて話し合ってください。

于 2013-03-13T16:59:18.737 に答える