我在MongoDB GridFS中有一些數據。我正在使用Spring Data GridFsOperations
類來完成我的GridFS讀取/寫入操作。使用Spring Data MongoDB替換現有GridFS文件和新內容
我有一個要求來替換現有的GridFS文件的內容,即_id
和filename
應保持不變,但文件內容應該更新。
彈簧數據[GridFsOperations]
(API)主要允許find
,它返回一個蒙戈GridFSDBFile
,和store
。 GridFSDBFile
(API)不允許更新內容。如果文件首先被刪除,然後使用與前一文件相同的_id
進行存儲,理論上可以使用store
方法。但store
不允許指定_id
字段。
到目前爲止,我發現的唯一解決方案是直接使用Mongo API刪除現有文件,並使用相同的_id
存儲新文件。這個效果的答案是沒有用的:這個問題是特定於Spring Data MongoDB的。
是的,這基本上是我使用Mongo API所做的。 我想說的是,Spring Data的第一步可以讓'store'方法獲得預先存在的_id值,這樣用戶至少可以通過Spring Data在自己的代碼中實現這個兩步模式API。就目前而言,我不得不使用反射從GridFsOperations中獲取私有'GridFS'對象,然後直接使用它來創建新文件。 – Raman 2013-03-13 18:14:55
你介意爲此創建一個JIRA嗎? – 2013-03-14 18:35:31
https://jira.springsource.org/browse/DATAMONGO-625 – Raman 2013-03-15 14:16:24