2014-02-27 115 views
2

我需要更好地控制數據如何輸出到csv,因此我無法使用mongoexport。我想一次讀入一個mongodb文件,並在文件中寫入csv格式的行。如果任何人都能指引我正確的方向,這將會有所幫助。如果我所有需要考慮寫入csv值是逃避雙引號,我可能只需寫出行,而不需要csv模塊。主要關注csv的創建部分。使用node.js生成csv文件使用node.js csv模塊

回答

3

您可以使用一些JavaScript(加載或不加載任何外部JavaScript庫)。

例如。 myCsvWriter.js

db.myCollectionName.find(SOME_CONDITIONS).forEach(
    function(doc) 
    { 
     docId = doc._id; 
     docName = doc.name; 
     print('"" + docId + '","' + docName + '"'); 
    } 

); 

命令來運行:

mongo --quiet myDatabaseName myCsvWriter.js > /tmp/myOutput.csv 

您必須編寫自定義JavaScript來通過轉義的分隔符和引用值正確地創建CSV字符串,或者你也可以加載一些JavaScript mongo shell中的csv庫並使用它。

+0

謝謝。可以從那開始。該CSV必須可導入到MySQL中。我可以斜槓轉義雙引號和逗號,並用fs寫 – Andy