spliced.forEach((v) => {
const val = v.split(',') //.slice(0, -2)
formData.devID = val[0];
formData.mobileno = val[1].slice(0, -1);
//const cleanVal = [val[0], val[1].slice(0, -1)];
req.body = formData;
device.validate(formData, req.user, req.app.db.models, (error, result) => {
let errorArr, resultArr = [];
if (error) {
errorArr.push(error)
};
if (result) {
resultArr.push(result)
};
if (errorArr) {
res.status(200).send({
errors: [error]
});
} else {
const formDataFull = new req.app.db.models.Device(formData);
req.app.db.models.Device.bulkWrite([{
insertOne: {
formDataFull
}
},
{
ordered: false
}
])
.then(function(device) {
console.log("created device err,", device);
workflow.emit('response');
res.status(200).send({
success: true
});
})
.catch(function(err) {
console.log("in catch err", err);
if (err.code == 11000) {
workflow.outcome.errors.push("Device Id already exists.");
return workflow.emit('response');
} else return workflow.emit('response', err);
});
}
})
})
spliced - это массив значений CSV.поэтому в приведенном выше коде сохраняется только последний объект, т. е. {formData}.каким образом я должен изменить свой код, чтобы foreach сохранял каждый элемент, а не только последний.