首先,这实际上是在下一个版本中提出的8MB
or 16MB
... 但我认为从这个角度来看,来自 10gen(开发 MongoDB)的 Eliot 说得最好:
编辑: 尺寸已正式“提高”到16MB
因此,在您的博客示例中,4MB 实际上是一大堆。例如,“世界大战”的完整解压缩文本只有 364k (html):
http ://www.gutenberg.org/etext/36
如果你的博客文章这么长,评论这么多,我一个人不会读它:)
对于 trackbacks,如果您将 1MB 专用于它们,您可以轻松拥有超过 10k(可能接近 20k)
所以除了真正奇怪的情况外,它会很好用。在例外情况或垃圾邮件中,我真的不认为你会想要一个 20mb 的对象。我认为无论性能如何,将引用限制为 15k 左右都很有意义。或者至少是特殊的外壳,如果它发生的话。
-艾略特
我认为你很难达到极限......随着时间的推移,如果你升级......你会越来越少担心。
限制的要点是这样您就不会用尽服务器上的所有 RAM(因为您需要MB
在查询时将文档的所有 s 加载到 RAM 中。)
因此,限制是通用系统上正常可用 RAM 的一些百分比......这将逐年增长。
在 MongoDB 中存储文件的注意事项
如果您需要存储大于16MB
您可以使用的GridFS API的文档(或文件) ,它将自动将数据分解为段并将它们流回给您(从而避免大小限制/RAM 的问题。)
GridFS 不是将文件存储在单个文档中,而是将文件划分为部分或块,并将每个块存储为单独的文档。
GridFS 使用两个集合来存储文件。一个集合存储文件块,另一个存储文件元数据。
您可以使用此方法在数据库中存储图像、文件、视频等,就像在 SQL 数据库中一样。我什至用它来存储数 GB 的视频文件。