2014-03-26 47 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