我有一个Meteor应用程序,并希望将数据(从csv)上传到流星集合.
我已经找到:
我的要求是应用用户能够从应用内将csv数据上传到应用.我不需要将csv文件存储在app文件结构中的任何位置,我只需要将csv数据读取到集合中.
我可能无法弄清楚如何执行此操作,因为我的参考条款("将数据上传到meteor")不明确或不正确.或者说我是个白痴.
现在一直在努力导入CSV,使用meteor-file从客户端上传并使用node-csv服务器端转换为CSV .我基本上需要使用用户上传的CSV文件中的数据填充我的集合.
/server/filehandler.js:
Meteor.methods({
'uploadFile': function (file) {
if(file.start === 0) {
console.log(file.name);
console.log(file.type);
console.log(file.size);
}
file.save('/home/russell/tmp',{});
var buffer = new Buffer(file.data);
CSV().from(
buffer.toString(),
{comment: '#', delimiter: ',', quote: ''}
)
.to.array( function(data){
//console.log(data);
for(var row=0; row<data.length; row++) {
console.log(data[row]);
newRecord = {
'firstname': data[row][0],
'lastname': data[row][1],
'email': data[row][2],
'emailshort': data[row][3],
'emailmain': data[row][4],
'domain': data[row][5]
};
console.log(newRecord);
reas.insert(newRecord); // *** _dynamic_meteor ERROR here!
}
} );
} // uploadFile
});
Run Code Online (Sandbox Code Playgroud)
console.log告诉我CSV到阵列的转换很好.
集合reas在/lib/models.js中设置为集合 - /lib与/ …