【发布时间】:2017-08-21 18:25:24
【问题描述】:
我是 javascript 和 node js 的新手。我实际上想根据 MySQL 值比较两个数据。
我想做的是从db -> concat一对数据和value -> endloop中循环data -> get值对
这是我的代码
routes/masterdata.js
var Masterdata = require('../models/Masterdata');
var outputFile = {}
for (var i = 0; i < dataFile.length; i++) {
if (dataFile[i]['existing'] != null) {
for (var x = 0; x < dataFile.length; x++) {
var param = {
tech_row: dataFile[i]['existing'],
tech_col: dataFile[x]['new']
};
Masterdata.compareData(param, function(err, rows) {
console.log(rows);
outputFile.push({
value: rows
});
});
}
}
}
console.log(outputFile);
models/Masterdata.js
var Masterdata = {
compareData: function(param, callback) {
return db.query('SELECT value FROM sod_matrix WHERE TECH_NAME_ROW = ? AND TECH_NAME_COL = ?', [param.tech_row, param.tech_col], callback);
}
}
我的问题是如何将函数比较数据中的数据填充到循环中的数组中?
【问题讨论】:
-
outputFile 是一个对象,而不是一个数组,这就是为什么您不能将您的信息推送到其中的原因。使用 var outputFile = [];而是。
标签: javascript mysql node.js asynchronous