Php 如何在MongoDB中存储文件?

Php 如何在MongoDB中存储文件?,php,mongodb,Php,Mongodb,我被告知MongoDB使用GridFS文件系统来存储文件。但是,有没有办法通过序列化或base64编码将文件本身存储在数据库BSON结构中 感谢并感谢您的帮助。GridFS是普通mongo集合之上的一层薄薄的文件,因此文件内容(“自身”)将被存储为BSON。GridFS(BSON最终)以二进制形式存储文件,您希望获取二进制内容,对其进行base64编码,并以二进制形式存储吗?你为什么要那样做 当然,您可以将文件序列化为字符串并将其存储在文档字段中。但是在这种方法中有一个缺点——您的所有文件都应该

我被告知MongoDB使用GridFS文件系统来存储文件。但是,有没有办法通过序列化或base64编码将文件本身存储在数据库BSON结构中


感谢并感谢您的帮助。

GridFS是普通mongo集合之上的一层薄薄的文件,因此文件内容(“自身”)将被存储为BSON。GridFS(BSON最终)以二进制形式存储文件,您希望获取二进制内容,对其进行base64编码,并以二进制形式存储吗?你为什么要那样做

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

Mongodb gridfs构建在Mongodb集合之上,包含两个集合:

  • 文件--文件的元数据(名称、大小、id、要保存的任何其他信息)
  • Chunks——包含序列化文件体的集合。如果文件大小超过16MB限制,mongodb会自动创建额外的块。因此,任何文件都将作为一个文件文档和>=1个区块文档保存在mongodb中
  • 您可以检查文件在mongodb中的外观


    所以,如果您决定在mongodb中存储文件,最好使用公共的、经过社区测试的方法-gridfs。

    序列化文件?这是什么意思?