nodejs 文件在 Heroku 上,我使用 PostgreSQL 作为数据库 我想从 View 中导出一个 csv 文件:
//我的 PostgreSQL 查询
var copyTo = require('pg-copy-streams').to;
var csv = require('csv');
var fs = require('fs');
var stream = client.query(copyTo('COPY (SELECT * FROM v_metric) TO
STDOUT WITH CSV HEADER DELIMITER as \'|\''));
//导出为csv
csv().from(stream.pipe(process.stdout,{ end: false)).to(fs.createWriteStream('sample.csv'))
我没有任何结果,sample.csv 是空的。
有什么想法吗?
提前谢谢你
最佳答案
您可以使用 pg-copy-streams专门为此制作的 npm 模块:
let data = '', copyTo = require('pg-copy-streams').to;
pool.connect(function(pgErr, client, done) {
if(pgErr) {
//handle error
return;
}
var stream = client.query(copyTo(`COPY (${query}) TO STDOUT With CSV HEADER`));
stream.on('data', chunk => {
data += chunk;
})
stream.on('end', response => {
console.log(data)
done();
});
stream.on('error', err => {
done();
})
})
希望这对您有所帮助。
关于node.js - 如何在 nodejs 中使用 PostgreSQL 从 nodejs 导出 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878869/