我编写了以下 Node.js 代码,用于将数百万条记录插入 MySQL 。
var mysql = require('mysql');
var fs = require('fs');
var csv = require('fast-csv');
var connection = mysql.createPool({
user: 'root',
password: '***********',
host: 'localhost',
port: 3306,
database: '***********'
});
下面,我正在汇集连接
var getConnection = function(callback) {
connection.getConnection(function(err, connection) {
callback(err, connection);
});
};
var i = 1;
csv
.fromPath("company.csv")
.on("data", function(data){
data.forEach(function(item){
getConnection(function(err, conn){
conn.query('INSERT INTO postmeta (post_id, meta_key, meta_value) VALUES (1,"' + i +'","'+ item +'")', function(err, rows) {
if(err){
console.log(err);
}
});
});
});
i = i + 1;
})
.on("end", function(){
console.log("done");
console.log(i);
});
虽然一切都正常执行,但没有任何内容插入数据库!
代码有什么问题? 通过 Node.js 将大量数据插入 MySQL 的任何其他解决方案?
提前致谢!