你如何更新Blob属性?

时间:2012-06-02 16:54:33

标签: mongodb playframework morphia gridfs

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

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模块

1 个答案:

答案 0 :(得分:0)

您可能希望在新内容播放后自行删除。我建议您跟进播放插件用户,看看是否有自动执行此操作的选项,并会返回最新照片。< / p>

我想你想要存储对文件名的引用而不是上传文件的id,如果你想每次都获得最新的文件。所以它比_id更像是一个查询。再一次,可能需要关注播放插件的人。