2012-06-02 2 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

관련 문제