2017-06-28 59 views
1

我正在創建一個具有用戶登錄系統和按鈕的流星應用程序。用戶可以按按鈕將其用戶名添加到集合中,直到它被超級用戶移除。將用戶數據從流星導出爲.CSV文件

每次用戶點擊按鈕時,我都會記下這些信息,並以.csv文件或類似的格式下載這些信息。因此,例如,假設用戶A在時間t1按下按鈕,用戶B在時間t2按下按鈕,用戶C在t3按下按鈕,然後用戶A在時間t4再次按下按鈕。我想以良好的格式導出這些交互的記錄。 ***注意:按鈕點擊不存儲在一個數組中,所以這個問題的解決方案(How to export JavaScript array info to csv (on client side)?)不能幫助我 - 除非我誤解了一些東西,這完全有可能!

我開始學習通過本教程從流星應用程序導出數據(https://themeteorchef.com/tutorials/exporting-data-from-your-meteor-application),但它很快變得複雜,我不確定如何使用此方法跟蹤按鈕點擊。

這似乎是一個相對簡單的任務。有一個簡單的解決方法或常見的方法,我錯過了嗎?謝謝!

+0

的可能的複製[如何導出爲CSV格式的JavaScript陣列信息(在客戶端)?](https://stackoverflow.com/questions/14964035/how-to-export-javascript-array-info- to-csv-on-client-side) –

+0

誰將接收導出的文件,以及他們如何接收?直接從瀏覽器? (在這種情況下,它始終是當前用戶)或通過電子郵件(在這種情況下,它可能是一些特定的用戶) –

+0

只有我和/或一個特定的管理員帳戶應該能夠接收該文件,我想通過電子郵件做到這一點。 (我真的只需要我自己的研究數據,所以無論它是否可以從瀏覽器下載都沒關係) –

回答

1

對不起,我的假期讓我失望。

由於您使用的是流星,您可以訪問一個優秀的Mongo API(docs),它允許您以任何方式查詢和轉換數據。所以乾脆不管你在流星定義您的收藏蒙戈作爲查詢(我將使用ButtonClicks爲例)

let buttonClicks = ButtonClicks.find({}).fetch(); // Finds all button clicks 

然後轉換數據和使用節點fsdocs)包寫的轉換數據到。 csv文件。

buttonClicks = buttonClicks.map((click) => { 
    // transform your json to csv format here. 
    // I encourage you to write this yourself ;). 
}); 

fs.writeFile('buttonClicks.csv', buttonClicks, (err) => { 
    if (err) throw err; 
    console.log('The file has been saved!'); 
});