MongoDB/mongoose拆分大型文档

MongoDB/mongoose拆分大型文档,mongodb,mongoose,Mongodb,Mongoose,我们正在扩展现有的node+mongo应用程序。我们需要添加可能是大型文档的内容,但我们目前不知道它们可以达到多大的规模 MongoDB有一个默认的最大16mb大小限制,我知道我们可以增加这个限制,但不愿意 有没有人见过汽车医生。分割模块?如果大小超过某个特定大小,可以将文档自动拆分为部分吗?如果您有大量CSV数据要存储在MongoDB中,那么有两种方法可以以不同的方式工作: 1:以MongoDB格式保存 这意味着您让应用程序读取csv,并将其一次写入一行MongoDB集合。因此,每一行都保存为

我们正在扩展现有的node+mongo应用程序。我们需要添加可能是大型文档的内容,但我们目前不知道它们可以达到多大的规模

MongoDB有一个默认的最大16mb大小限制,我知道我们可以增加这个限制,但不愿意


有没有人见过汽车医生。分割模块?如果大小超过某个特定大小,可以将文档自动拆分为部分吗?

如果您有大量CSV数据要存储在MongoDB中,那么有两种方法可以以不同的方式工作:

1:以MongoDB格式保存 这意味着您让应用程序读取csv,并将其一次写入一行MongoDB集合。因此,每一行都保存为一个单独的文档,可能是这样的:

{ 文件名:restaurants.csv, 版本:2, 上传日期:ISODATE 2017-06-15, 名称:王牌咖啡馆, 烹饪:英国, 等 }, { 文件名:restaurants.csv, 版本:2, 上传日期:ISODATE 2017-06-15, 名称:孟加拉虎, 美食:孟加拉, 等 } 这将需要应用程序的工作,将数据呈现为这种格式,并决定如何以及在何处保存元数据 您可以按字段和行对数据进行索引和查询 您不必担心任何单个文档变得太大 2:使用以CSV格式保存 这意味着您的文件将作为未分析的blob上传,并自动划分为16MB块,以便将其保存在MongoDB文档中

这很容易做到,并且不会干扰原始CSV结构 但是,数据对MongoDB是不透明的:您无法逐行扫描或读取数据 要处理数据,应用程序必须从MongoDB下载整个文件并在内存中处理
希望其中一种方法能够满足您的需要。

您的文档是如何变得如此庞大的?它们只是包含许多简单字段和子文档字段,还是包含长数组?长数组。我们想使用Mongo,因为应用程序已经使用Mongo。。。但新的工作是存储csv文件,我们担心其中一些csv文件可能非常大。另外,我们知道CSV文件会有所不同。。自动拆分大型文档的想法似乎是显而易见的第一个解决方案,但目前还没有找到任何方法。请注意,下面的说法是不正确的:MongoDB的默认最大大小限制为16mb,我知道我们可以增加这一限制,但我宁愿不增加。。在版本3.6之前,MongoDB不允许修改这个限制,我明白了,谢谢你的帮助。我不知道GridFS的存在。