У меня есть API, который проверяет, существуют ли данные в базе данных, и если нет, он будет вставлять, но если он обнаруживает, что данные существуют, он показывает ответ. Мне нужно пропустить существующие данные и вставить остальные данные и дать мне ответ о неудачных строках данных. Массив данных огромен, так как я массово вставляю данные. Мне нужно только пропустить существующие записи и вставить оставшиеся данные из массива и дать ошибочные или повторяющиеся строки в качестве ответа
router.post('/saveuser', function(req, res) {
let users = req.body.users;
for (let i = 0; i < users.length; i++) {
let email = req.body.users[i].email;
let username = req.body.users[i].username;
let password = req.body.users[i].password;
db.mycon.query('SELECT * FROM test WHERE email = ?', [email], function(error,rows, result) {
if(rows.length > 0){
res.json({
message: "Email exists"
});
}else {
//check username exists
db.mycon.query('select * from test where email = ?', [username], function(err, rows, result) {
if (err) throw err;
if(rows.length > 0){
res.json({
message: "Username exists"
});
}else {
db.mycon.query('INSERT INTO test(username, email, password) VALUES(?, ?, ?)', [username, email, password], function(err, result) {
if (err) throw err;
res.json({
success: "1",
message: "registered",
data: result.affectedRows
});
});
}
});
}
})
}
});
Любая подсказка будет приветствоваться, так как я потратил много времени, пытаясь обойти ее