gridfs.
GridFS
(database, collection='fs')Объект для работы с GridFS
database - pymongo.database.Database
collection - опционально, коллекция в БД
delete
(file_id)Удаляет файл из бд
Warning
если при удалении, кто-то попытается прочесть файл, то он может прочитать и не весь файл
Note
Удаление не существующего файла не считается ошибкой
exists
(document_or_id=None, **kwargs)Булево, файл существует
>>> fs.exists(file_id)
>>> fs.exists({"_id": file_id})
>>> fs.exists(_id=file_id)
>>> fs.exists({"filename": "mike.txt"})
>>> fs.exists(filename="mike.txt")
>>> fs.exists({"foo": {"$gt": 12}})
>>> fs.exists(foo={"$gt": 12})
find
(*args, **kwargs)Возвращает курсор gridfs.grid_file.GridOutCursor
итератор по найденным файлам.
filter - опционально, фильтр для поиска
skip - опционально, количесвто файлов которые надо пропустить
limit - опционально, количесвто документов которые надо вернуть
no_cursor_timeout - опционально, булево, если ложно (по умолчанию) то курсов закрывается по истечении 10 минут неактивности сервера БД.
sort - опционально, список ключей для сортировки
for grid_out in fs.find({"filename": "lisa.txt"}, no_cursor_timeout=True):
data = grid_out.read()
most_recent_three = fs.find().sort("uploadDate", -1).limit(3)
find_one
(filter=None, *args, **kwargs)Возвращает один файл по условию, аргументы аналогичны find()
>>> file = fs.find_one({"filename": "lisa.txt"})
get
(file_id)Возвращает файл по идентификатору
get_last_version
(filename=None, **kwargs)Возвращает последнюю версию файла
get_version
(filename=None, version=-1, **kwargs)Возвращает файл указанной версии
Возбуждает gridfs.errors.NoFile
если файл не найден
list
()Список всех файлов БД
new_file
(**kwargs)Возвращает gridfs.grid_file.GridIn
, ново созданный файл в БД
put
(data, **kwargs)Кладет новую информацю в файл
data - строка или файлобый объект
try:
f = new_file(**kwargs)
f.write(data)
finally:
f.close()