Soy muy principiante en Nodejs. Verifique que los datos ya existen en mysql, pero estoy usando el método for loop para verificar que los datos ya existen, la consulta sql funciona perfectamente, quiero contar cuántos datos no existen en mysql, inicié counts = 0 dentro para loop contable pero tomado fuera del bucle for, el conteo da cero,
app.get('/stock_outward', function (req, res) { var params = req.body; var counts = 0; var serial_values = "SV-K8B22490,SV-K8B22491,SV-K8B22492,SV-K8B22493,SV-K8B22494,SV-K8B22495,SV-K8B22496,SV-K8B22497,SV-K8B22498,SV-K8B22499"; var serial_arys = []; serial_arys = serial_values.split(","); for(var i=0;i<serial_arys.length;i++) { connection.query('select * from stock_inward where s_no = "'+serial_arys[i]+'"', function (error, results, fields) { if (error) throw error; //console.log(results.length); if(results.length == 0) { } else{ counts++; console.log(counts); } }); } console.log(counts); });En lugar de hacer eso, hágalo a través de SQL. Al igual que:
SELECT COUNT(*) AS total FROM stock_inward WHERE s_no NOT IN ('SV-K8B22490','SV-K8B22491','SV-K8B22492','SV-K8B22493','SV-K8B22494','SV-K8B22495','SV-K8B22496','SV-K8B22497','SV-K8B22498','SV-K8B22499')Primero, creo que deberías actualizar tu consulta, por ejemplo:
select * from stock_inward where s_no in ( "'+serial_arys+'"' )de esta manera puede obtener todos los registros en un solo hit DB en lugar de realizar solicitudes de datos DB una y otra vez.
segundo, creo que vamos a resolver su problema
let params = req.body; let counts = 0;