在MongoDB中存储类似JSON的数据

我使用的是MongoDB,因为meteor不支持其他任何东西。

主要目标是上传CSV文件,在Meteor中parsing它们并将数据导入数据库。

插入的数据大小可以是50-60GB或者每个文件可能更多,但是由于文档大小的限制,我甚至不能插入大于16MB的东西。 而且,即使插入的1/10也需要很长时间。

我正在使用CollectionFS在客户端上传CSV文件。 因此,我也尝试使用CollectionFS作为数据本身,但它给了我一个“不受支持的数据”的错误。

我能做些什么呢?

编辑:由于我的问题造成了一个关于存储数据技术的困惑,我想清除一些东西:我没有兴趣上传CSV文件; 我有兴趣将数据存储在文件中。 我想收集所有用户的数据在一个地方,我想获取资源最低的数据。

您可以将csv文件作为集合插入(文件名可以成为集合名称),并将csv的每一行作为文档。 这将获得每个文档大小限制16 MB。 你可能会收到很多collections,但是没关系。 另一个集合可以跟踪集合名称映射的文件名。

在CollectionFS中,你可以直接将文件保存到文件系统中,只需添加适当的包并像这样创build你的集合:

Csv = new FS.Collection("csv", { stores: [ new FS.Store.FileSystem("csv","/home/username/csv") ], filter: { allow: { extensions: ['csv'] } } });