【问题标题】:Storing large file of 100 MB in Mongodb在 Mongodb 中存储 100 MB 的大文件
【发布时间】:2012-04-02 10:12:10
【问题描述】:

我想在 MongoDB 中存储 100MB 到 1GB 的大文件,就像 BLOB 对象一样,以后可以更容易地检索它。我使用的编程语言是 PHP 请在这个意义上指导我。

【问题讨论】:

    标签: php mongodb nosql


    【解决方案1】:

    您需要为此使用 GridFS,因为通常 MongoDB 文档限制为 16MB。请参阅位于http://www.php.net/manual/en/class.mongogridfs.php 的 PHP 文档中的概述和示例

    【讨论】:

    • 我使用下面的命令上传了一个 254MB 的压缩文件夹。 C:\mongodb\bin>mongofiles.exe -d users put c:\SWSetup.zip 但它创建的文件也是 262 MB。我认为它会将数据保存在文档块中。你能告诉我单个文档的最大尺寸是多少吗?
    • 在 PHP 中使用 mongo gridfs 我无法上传超过 16 MB 的文件。
    【解决方案2】:

    MongoDB 1.8 及更高版本中文档的最大大小为 16Mb。

    以前是 4Mb。 GridFS 使人们能够将单个文件无缝地分布在多个文档中。如果您检查 MongoDB 中的实际文档,您会注意到许多单独的文档,但通过 GridFS,它们将无缝地显示为单个文件。

    这能回答问题吗?

    【讨论】:

    • 史蒂夫我已经上传了 256MB 的压缩文件。尽管我使用了 PHP GridFS,但它创建了 256 MB 的文档。从我检查的数据库中,它有 25MB 的块。但问题是我无法下载压缩文件。因为它无法将 256MB 加载到内存中。这个问题的任何解决方案。
    猜你喜欢
    • 2017-11-06
    • 2019-02-01
    • 2020-09-23
    • 1970-01-01
    • 2012-07-04
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    相关资源
    最近更新 更多