小编Qua*_*tum的帖子

如何将CSV文件中的数据导入到服务器端的Meteor集合中

我正在尝试为我之前的帖子找到解决方案:Mongo在Meteor应用程序中的_id_字段上给出了重复的键错误

为了做到这一点,我想从服务器端的CSV文件中读取数据,而不是从客户端读取数据.

首先,我在本文中尝试使用node-csv和meteor-file将CSV导入集合,但meteor-file与当前版本的Meteor不再兼容.我也尝试过这个帖子上传数据到Meteor/Mongo数据库的解决方案,但它也在客户端上,该解决方案产生的错误与我之前的帖子相同.

经过一些进一步的研究后,我尝试用下面的代码读取数据.但它不起作用:

首先我创建了一个集合:

 Meteor.orders = new Meteor.Collection('Orders');
Run Code Online (Sandbox Code Playgroud)

我定义了以下模板来读取csv文件:

<template name="read_file_orders">
  <form class="well form-inline">
   <label class="control-label" for="fileInput2">Kies bestand</label>
   <input class="input-file" id="fileInput2" type="file" name="files[]">
   <Button class="btn btn-primary" id="read_orders">Importeer</button>
   <button class="btn btn-danger" id="erase_orders">Wis gegevens</button>
  </form>
</template>
Run Code Online (Sandbox Code Playgroud)

这是客户端javascript:

Template.read_file_orders.events({
 "click #read_orders" : function(e) {
  var f = document.getElementById('fileInput2').files[0];
  console.log("read file");
   readFile(f, function(content) {
    Meteor.call('upload',content);
   });
 }
});

readFile = function(f,onLoadCallback) {
 var reader = new FileReader();
 reader.onload = function (e){
  var contents=e.target.result
  onLoadCallback(contents);
 }
 reader.readAsText(f);
};
Run Code Online (Sandbox Code Playgroud)

这是服务器javascript: …

javascript csv mongodb meteor

4
推荐指数
1
解决办法
5900
查看次数

标签 统计

csv ×1

javascript ×1

meteor ×1

mongodb ×1