【问题标题】:How do you update a Blob property?如何更新 Blob 属性?
【发布时间】:2012-06-02 16:54:32
【问题描述】:

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

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

【问题讨论】:

    标签: mongodb playframework morphia gridfs


    【解决方案1】:

    您可能想在放入新的后自己删除。我建议跟进播放插件的人,看看是否有一个选项可以自动执行此操作并返回最新照片。

    如果您想每次都获取最新的文件,我认为您想存储对文件名的引用,而不是上传文件的 id。所以它比_id更像是一个查询。再一次,可能需要跟玩插件的人一起跟进。

    【讨论】:

    • 谢谢斯科特。在设置之前调用 delete 就可以了。我会考虑保留版本,但现在这些图像是暂时的,所以,删除它们很好。
    猜你喜欢
    • 2018-08-12
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多