繁体   English   中英

如何在MongoDB中存储文件?

[英]How to store files in MongoDB?

有人告诉我MongoDB使用GridFS文件系统存储文件。 但是,是否可以通过序列化或base64编码将文件本身存储在数据库BSON结构中?

感谢并感谢您的帮助。

当然,您可以将文件序列化为字符串并将其存储在文档字段中。 但是在这种方法中存在一个缺点-您的所有文件应小于16 mb(一个文件的大小限制 )。

Mongodb gridfs建立在mongodb集合之上,并且包含两个集合:

  1. 文件-文件的元数据(名称,大小,ID,要保存的任何其他信息)
  2. 块-包含序列化文件主体的集合。 如果文件大小超过16 MB,则mongodb会自动创建其他块。 因此,任何文件都将作为一个文件文档和> = 1块文档保留在mongodb中。

您可以在此处检查mongodb中文件的外观。

因此,如果您决定将文件存储在mongodb中,则最好使用经过社区方法测试的通用工具-gridfs。

GridFS是普通mongo集合之上的薄薄一层,因此文件内容(“自身”) 被存储为BSON。 GridFS(最终为BSON)以二进制形式存储文件,而您想获取二进制内容,对它们进行base64编码,然后以二进制形式存储? 为什么要这么做?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM