2012-06-02 96 views
0

应该在设置新值之前删除现有属性?每次更新属性时,我的实现都会不断向文件和块添加新条目。如何更新Blob属性?

Blob photo; 

public void setPhoto(File file){ 
    String type = MimeTypes.getContentType(file.getName()); 
    photo = new Blob(file, type); 
    save(); 
} 

呼唤:

foo.setPhoto(barFile); 

将文件存储在GridFS的预期。 再次调用它(用新照片更新),以前的文件保留在mongodb中,并且该属性返回错误的文件。

foo.photo.get(); 

看看playmorphia的例子,删除并不是必需的,但我发现它是必要的。

playmorphia v1.2.7模块

回答

0

你可能想要做自己删除你把新的后,我建议跟进跟玩插件的人,看看是否有是自动执行此操作的选项并会返回最新的照片。

我想你想存储对文件名的引用,而不是上传文件的id,如果你想每次都得到最新的。所以它会比_id更多的查询。再次,可能是跟随播放插件人员的事情。

+0

谢谢斯科特。在集合之前调用删除来实现这个技巧。我会研究保留版本,但现在这些图像是暂时的,所以,删除它们就可以了。 – zenoexo