私の場合、SHA1(として保存filename
)を介してファイルの一意性を確保する必要があります
db = pymongo.MongoClient('localhost', 27017).test
gfs = gridfs.GridFS(db)
# How may I create a unique index in GridFS?
gfs.files.create_index([('filename', 1)], unique=True)
ファイルが既に保存されている場合は、SHA1 でファイルを検索します。
sha1 = hashlib.sha1(file_content).hexdigest()
try:
return gfs.put(file_content, filename=sha1)
except pymongo.errors.DuplicateKeyError:
# How may I find files via criterion?
return gfs.find( { 'filename': sha1 } )['_id']
誰かがそれらのことを行う方法を教えてもらえますか? 前もって感謝します。