2012-05-18 4 views

답변

4

MD5 합계는 이미 Mongo의 gridfs 메타 데이터의 일부이므로 해당 열에 고유 색인을 설정하기 만하면 서버가 파일 저장을 거부합니다. 클라이언트 측에서 비교할 필요가 없습니다.

+0

좋아요! 어떤 분야? – tapioco123

+1

이 작업이 가능합니까? mongo 드라이버가 스트림의 gridfs 파일에 삽입되므로 드라이버가 파일의 삽입이 완료 될 때까지 전체 파일의 md5를 어떻게 알 수 있습니까? Gridfs 메타 데이터는 이미 그 시점에서 부분적으로 쓰여지지 않았습니까? 또는 chunk 컬렉션에 대한 삽입 쓰기가 먼저 수행되고 메타 데이터 컬렉션이 두 번째로 수행됩니까? 그렇다면 청크 컬렉션에 고아 문서가 있습니까? –

+0

Sean, PHP 드라이버에서 최근에 고쳤습니다. 먼저 모든 청크를 추가 한 다음 메타 데이터를 추가합니다. 메타 데이터를 추가 할 수 없으면 청크를 다시 제거합니다. – Derick

1

파일을 저장하기 전에 md5 해시를 사용하고 새로운 해시를 비교할 수 있습니다.

+0

그래서 애플리케이션 코드를 통해 ... – tapioco123

+0

md5는 이미 mongo에 있습니까? – tapioco123

+0

예, http://www.lightcubesolutions.com/blog/?p=352 – Denis

관련 문제