我需要允许用户以 csv 格式导出数据。我用nodejs写了应用程序。用户的导出数据可能非常庞大。所以我想知道如何在nodejs中处理这种情况。我应该使用nodejs的process.nexttick还是子进程api?还有什么好的模块可用于nodejs将数据从mysql转换为csv。
从 mysql-db 中逐行读取,然后逐行附加到文件中
我对 mysqlmodule 不太了解,所以我假设这里的每一行只是一个数组,因此是 'row.join(';')'。如果情况并非如此(也许它是一个对象),您应该修复它。
var fs = require('fs');
var connection = require('mysql').createConnection({yourdbsettingshere});
function processRow (row) {
fs.appendFile('your-file.csv', row.join(';'), function (err) {
connection.resume();
});
}
var query = connection.query('SELECT * FROM WHATEVER');
query
.on('error', function(err) {
// do something when an error happens
})
.on('fields', function(fields) {
processRow(fields);
})
.on('result', function(row) {
// Pausing the connnection is useful if your processing involves I/O
connection.pause();
processRow(row, function (err) {
connection.resume();
});
})
.on('end', function() {
// now you can mail your user
});
如果您有很多请求,您可以使用计算集群 https://npmjs.org/package/compute-cluster用于分配工作量的模块
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)