2017-06-28 52 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!'); 
});