2014-03-26 27 views
0

我一直在使用meteor创建视频上传器并一直使用CollectionFS来存储文件。不幸的是,在沉重的负载下,需要花费大量的时间来加载视频才能显示,所有的视频文件大约为50MB。为了解决集合上的紧张问题,我想将CollectionFS集合中的所有文件保存到驱动器中,以便将它们放在CDN上。将CollectionFS数据库转换为硬盘驱动器上的文件

我不知道如何将文件保存到硬盘驱动器,所以对这个主题的任何启发都会有所帮助。服务器上的压力迫使流星经常被耗尽内存。

回答

0

这实际上是一个mongodb问题,而不是流星。从official documentation开始,下面的示例显示如何为一个文件执行此操作。当然,您可以使用find而不是findone并迭代结果来编写每个单独的文件。

// returns GridFS bucket named "contracts" 
GridFS myContracts = new GridFS(myDatabase, "contracts"); 

// retrieve GridFS object "smithco" 
GridFSDBFile file = myContracts.findOne("smithco"); 

// saves the GridFS file to the file system 
file.writeTo(new File("/tmp/smithco.pdf")); 

还有一个官方mongofiles utility,你可以使用同样的目的:

mongofiles -d records get smithco.pdf