在这个对存储介质容量要求极高的年代,MongoDB将文档的上限设置为16MB似乎并不够用。为了保证高性能,MongoDB可以通过GridFS规范实现存储大量数据的功能。GridFS是由MongoDB的所有驱动使用的一个简单规范。
GridFS由两部分(集合)组成:一个集合存储文件名和诸如大小这样的相关信息(称为元数据),而另一个集合保存文件数据自身,以255KB为一块。这两个集合分别称为files和chunks。
在python环境下使用GridFS:
//调包
from pymongo import MongoClient
import gridfs
//连接数据据
db = MongoClient().test
fs = gridfs.GridFS(db)
//在MongoDB中添加文件
with open("/tmp/dictionary") as dictionary:
uid = fs.put(dictionary)
//从GridFS中读取文件
new_dictionary = fs.get(uid)
//删除文件
fs.delete(uid)