GridFS是一种将大型文件存储在MongoDB的文件规范。
数据库支持以BSON格式保存二进制对象。 但是MongoDB中BSON对象最大不能超过4MB。 GridFS 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。这将容许我们有效的保存大的文件对象,特别对于那些巨大的文件,比如视频。
为实现这点,该规范指定了一个将文件分块的标准。每个文件都将在文件集合对象中保存一个元数据对象,一个或多个块对象可被组合保存在一个块集合中。文件如何被分块保存的细节可以参看GridFS Specification; 大多数情况下,你无需了解此规范中细节,而可将注意力放在各个语言版本的驱动中有关GridFS API的部分或是如何使用mongofiles工具上。
大多数驱动已包含GridFS的实现;对于那些没有在下面列出的语言,请查看该驱动API文档. (若一种语言没有提供对GirdFS的支持, 请参看规范 -- 实现一个GridFS的处理程序并不复杂)