问题描述
我在这里尝试过,但没有得到正确答案,此代码将仅更新一条记录,但我必须一次更新多条记录,并使用不同的 ID,并且我应该将不同的 ID 作为端点传递给 API。
async function bulkupdate(req,res){
var i;
let successCount =0;
let errorCount = 0;
var student = req.body;
var id = req.params.id;
const schema = {
name : {type : "string",optional : false,max :"100"},sem : {type : "number",optional : false },branch :{type : "string",optional:false,max:"100"}
}
for(i=0;i<student.length;i++){
const v = new validator();
var result1 = await v.validate(student[i],schema);
if(result1 === true){
var result = await models.Student.update(student[i],{where :{id:id}});
successCount++;
}else{
errorCount++
return res.send({result1,errorCount,successCount})
}
}
res.status(200).json({
successCount:successCount,errorCount:errorCount,});
}
解决方法
它更新一条记录,因为 id 的值总是相同的, 如果请求正文包含学生 ID,那么您可以使用类似于此的内容
var result = await models.Student.update(student[i],{where :{id: student[i].id}});