【发布时间】:2015-10-19 22:37:48
【问题描述】:
我是流星的新手,我正在制作应用程序来上传大型 csv 文件,当我运行应用程序文件时,它们会上传到我的主目录(ubuntu)和 Mongodb 集合中,我可以用 robomongo 看到它,之后我收到了这个 控制台上的错误 (STDERR) 错误:ENOENT,打开“/imports/tdcdata.csv” 我已经改变了 ./ ,~/ , home/user/imports 它不起作用。提前感谢您的贡献; 这是我的代码:
Meteor.methods({
'uploadFile': function(fileid, filename) {
var fs = Meteor.npmRequire('fs');
var file = Uploads.find({
_id: fileid
});
Meteor.setTimeout(function() {
var filepath = '~/imports/' + filename;
//var filepath = '/imports/uploads-' + fileid + '-' + filename;
CSV().from.stream(
fs.createReadStream(filepath), {
'escape': '\\'
})
.on('record', Meteor.bindEnvironment(function(row, index) {
Album.insert({
'Account Number': row[0],
'Album Title': row[1],
'Track Artist': row[2],
'Track Title': row[3],
'ISRC': row[4],
'Source UPC': row[5],
})
}, function(error) {
console.log(error);
}))
.on('error', function(err) {
console.log(err);
})
.on('end', function(count) {
})
}, 1000)
}
})
【问题讨论】:
-
您能否清理一下您的代码,使其更易于阅读?这将在堆栈溢出时为您提供更好的答案。