我需要为大多数小于 16MB 的文件创建一个存储系统,但我想要 GridFS 的好处,例如版本控制、自定义元数据、轻松备份(使用 mongodump)等。我想说我的文件的 10% 可能会结束16MB,所以我不能依赖存储在单个文档中,并且我不想重新创建 API 以获得我正在寻找的好处。我也已经在使用 mongoDB 系统。
我应该使用 GridFS 吗?
我需要为大多数小于 16MB 的文件创建一个存储系统,但我想要 GridFS 的好处,例如版本控制、自定义元数据、轻松备份(使用 mongodump)等。我想说我的文件的 10% 可能会结束16MB,所以我不能依赖存储在单个文档中,并且我不想重新创建 API 以获得我正在寻找的好处。我也已经在使用 mongoDB 系统。
我应该使用 GridFS 吗?
如果没有更多细节,我建议您先阅读此处提供的建议。
鉴于您的所有文档在作为 BinData 存储为 BSON 文档时都不适合最大文档大小,我建议使用 gridFS 系统来获得一致的编程和数据管理体验(对于开发人员和 IT)。根据文件的使用方式,当文件存储在 GridFS 中时,您可以通过分块读取和写入更有效地将文件内容流式传输到客户端。
建议将小于 16 MB 的文件存储在单个文档中,使用 BinData 数据类型存储二进制数据。那么,在单个文档中存储大小低于 16MB 的文件并仅对大小超过 16MB 的文件使用 GridFS 有什么问题。