将用户数据从Meteor导出到.CSV文件

时间:2017-06-28 12:18:25

标签: android csv meteor export

我正在创建一个具有用户登录系统和按钮的流星应用程序。用户可以按下按钮将其用户名添加到集合中,直到超级用户将其删除。

每次用户点击按钮时,我都会注意到,并以.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)导出数据,但很快变得复杂,我不知道如何使用此方法跟踪按钮点击。

这似乎是一项相对简单的任务。我错过了一种简单的解决方法或常用方法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

对不起延误,假期让我离开了。

由于您正在使用Meteor,因此您可以访问一个出色的Mongo API(docs),它允许您以您喜欢的任何方式查询和转换数据。因此,只需查询您在Meteor中定义Mongo集合的任何内容(我将以ButtonClicks为例)

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

然后转换数据并使用Node 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!');
});