【问题标题】:Export user data from Meteor to .CSV file将用户数据从 Meteor 导出到 .CSV 文件
【发布时间】:2017-12-01 19:14:03
【问题描述】:

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

我想在用户每次点击按钮时记录下来,然后以 .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) 存储按钮点击次数和 2) 将数据导出到 csv。利用内置的 mongodb 集成。将按钮点击计数存储在用户文档或任意集合中。然后,您可以按计划或按需设置 csv 生成。从 json 生成 csv 非常简单。如果您需要更多帮助,请告诉我,我可以写一个方法。

标签: android csv meteor export


【解决方案1】:

抱歉耽搁了,假期让我离开了。

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

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

然后转换数据并使用 Node fs (docs) 包将转换后的数据写入 .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!');
});

【讨论】:

    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2019-01-11
    • 2012-12-22
    • 2020-06-03
    • 1970-01-01
    相关资源
    最近更新 更多