MongoEngine – GridFS
在MongoDB中,大小超过16MB的文件使用GridFS规范存储。一个文件被划分为多个块,每个块的默认大小为255KB。大块的大小可以根据需要而定。GridFS使用两个集合,一个用于大块,另一个用于元数据。
GridFS可以用来存储任何文件,如果你想访问它而不需要在内存中完全加载它。
MongoEngine API通过 FileField 对象支持GridFS。使用这个对象,就可以插入和检索数据。FileField对象的 put() 方法有助于将文件作为Document的一部分写入。
FileField 的内容可以通过 Python 的 File 对象的 read() 方法检索。
也有 delete() 方法来删除存储的文件。
注意,FileField只在一个单独的GridFS集合中存储文件的ID。因此,delete()方法并不能从物理上删除该文件。
replace() 方法有助于用另一个文件来替换文件的引用。