如何使用pg-promise将数据下载为CSV文件?
db.any(query) .then(data => { //console.log("data: " + JSON.stringify(data)); res.json(data); //res.send("data: " + JSON.stringify(data)); }) .catch(error => { console.log("ERROR:", error) });
是否有可能以CSV格式而不是JSON获取数据?
正如我在评论中所述,这与pg-promise无关,只是执行查询。
这个问题应该被问到 – 如何在PostgreSQL中select一个CSV文件,但是已经有很多答案了:
- 将PostgreSQL的PL / pgSQL输出保存为CSV文件
- 将Postgres表格导出为带有标题的CSV文件
- 如何从命令行打印CSV或TSV格式的PostgreSQL查询结果?
那么对于pg-promise,你会得到如此微不足道的东西:
var values = { delimiter: ',', path: 'd:/temp/users.csv' }; db.none('COPY (SELECT * FROM users) TO ${path} WITH CSV DELIMITER ${delimiter}', values) .then(() => { console.log('Successfully saved as:', values.path); }) .catch(error => { console.log(error); });
如果不是导出select的结果,而是希望从HTTP服务下载它,那么这是一个完全不同的问题。 但是您只需将select的结果转发到HTTP响应中,并将其标记为文件即可。
例子:
- 使用Express从NodeJS Server下载文件
- 为什么我得到“TypeError:对象不是一个函数”运行这个例子node.js代码?
- 在本地服务器上读取和parsingnode.js中的csv
- heroku上的node.js:错误:无法find模块'csv'
- 如何使用nodejs将数据存储到aerospike?
- 从Angular中的服务器下载文本/ csv内容,而不是在Mozilla FireFox中工作
- pipe道NodeJSstream到一个数组
- 每5分钟使用NodeJS将1000个数据中的10个数据添加/插入到MongoDB中
- 将较大的CSV文件加载到DynamoDb中的最佳/最佳方法
- Node.js 1gb csvfile upload – 错误:请求中止