如何在流星中写入和读取 csv 或 json 文件
How to write and read from csv or json file in meteor
我正在使用 papaParse
我想将这个包的结果保存到文件中,用户可以下载它。做这个的最好方式是什么?我也使用这个 node.js 代码来做到这一点
var csv = Papa.unparse(Users.find().fetch());
console.log("csv : " + JSON.stringify(csv)); // get csv format (not in file)
fs.writeFile("meteorProject/public/", csv, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
但是给出这个错误
{ [Error: EISDIR: illegal operation on a directory, open 'meteorProject/public/']
I20160907-13:00:26.970(4.5)? errno: -21,
I20160907-13:00:26.970(4.5)? code: 'EISDIR',
I20160907-13:00:26.970(4.5)? syscall: 'open',
I20160907-13:00:26.970(4.5)? path: 'meteorProject/public/' }
如何解决??
谢谢:-)
这是与目录相关的问题,请检查您在此处提供的目录路径。即 - "meteorProject/public/"。
所以你需要改变的只是你正在使用的目录名。
当我尝试使用我的目录及其 运行 时。
或者我建议您在保存文件时也尝试使用 fileName.csv
像:- meteorProject/public/test.csv
或者完全改变目录路径,就像我在 ubuntu 机器及其 运行 上尝试的那样。
var userArray = Users.find().fetch();
var data = Papa.unparse(userArray);
console.log("data is....");
console.log(data);
fs.writeFile('/home/parveen/test/test.csv',data,function(err,res){
if(err){
console.log("err while saving");
console.log(err)
}
else{
console.log("File saved");
console.log(res);
}
});
以上代码通过test.csv名称将文件保存在测试文件夹中。
如果您再次遇到任何问题,请检查并告诉我。
如果您想深入了解您的错误,请参阅 link:-
https://github.com/bekk/grunt-retire/issues/2
希望这会有所帮助!
谢谢
最后我使用了这个包:Meteor-Files
为了解决这个问题!
这是示例代码:
export(){
var csv = Papa.unparse(Users.find({},{fields:{_id:0}}).fetch());
Exports.write(csv,{
fileName: 'backup'+ new Date().getTime() +'.csv',
type: 'text/csv'
}, function (error, fileRef) {
if (error) {
throw error;
} else {
console.log(fileRef.name + ' is successfully saved to FS. _id: ' + fileRef._id);
}
});
},
Exports is collection .这是帮助我的功能。
我正在使用 papaParse 我想将这个包的结果保存到文件中,用户可以下载它。做这个的最好方式是什么?我也使用这个 node.js 代码来做到这一点
var csv = Papa.unparse(Users.find().fetch());
console.log("csv : " + JSON.stringify(csv)); // get csv format (not in file)
fs.writeFile("meteorProject/public/", csv, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
但是给出这个错误
{ [Error: EISDIR: illegal operation on a directory, open 'meteorProject/public/'] I20160907-13:00:26.970(4.5)? errno: -21, I20160907-13:00:26.970(4.5)? code: 'EISDIR', I20160907-13:00:26.970(4.5)? syscall: 'open', I20160907-13:00:26.970(4.5)? path: 'meteorProject/public/' }
如何解决?? 谢谢:-)
这是与目录相关的问题,请检查您在此处提供的目录路径。即 - "meteorProject/public/"。 所以你需要改变的只是你正在使用的目录名。 当我尝试使用我的目录及其 运行 时。 或者我建议您在保存文件时也尝试使用 fileName.csv 像:- meteorProject/public/test.csv
或者完全改变目录路径,就像我在 ubuntu 机器及其 运行 上尝试的那样。
var userArray = Users.find().fetch();
var data = Papa.unparse(userArray);
console.log("data is....");
console.log(data);
fs.writeFile('/home/parveen/test/test.csv',data,function(err,res){
if(err){
console.log("err while saving");
console.log(err)
}
else{
console.log("File saved");
console.log(res);
}
});
以上代码通过test.csv名称将文件保存在测试文件夹中。
如果您再次遇到任何问题,请检查并告诉我。 如果您想深入了解您的错误,请参阅 link:-
https://github.com/bekk/grunt-retire/issues/2
希望这会有所帮助!
谢谢
最后我使用了这个包:Meteor-Files 为了解决这个问题! 这是示例代码:
export(){
var csv = Papa.unparse(Users.find({},{fields:{_id:0}}).fetch());
Exports.write(csv,{
fileName: 'backup'+ new Date().getTime() +'.csv',
type: 'text/csv'
}, function (error, fileRef) {
if (error) {
throw error;
} else {
console.log(fileRef.name + ' is successfully saved to FS. _id: ' + fileRef._id);
}
});
},
Exports is collection .这是帮助我的功能。