Rumah > Soal Jawab > teks badan
P粉2014488982023-08-19 10:18:35
Kod anda melibatkan tiga interaksi berbeza dengan pangkalan data untuk satu operasi kemas kini:
ReportModel.findOne()
Kemas kini Entiti |
ReportModel.update()
Mengurangkan pertanyaan pangkalan data menyelesaikan tugas dan meningkatkan prestasi. ReportModel.findOne()
export const update = async(req: Request, res: Response, next: NextFunction) => { try { const reportId = parseInt(req.params.id); const { name, age, info } = req.body; // 执行更新并获取受影响的行数 const [numberOfAffectedRows] = await ReportModel.update({ name, age, info }, { where: { id: reportId }, // 此标志检查更新函数是否返回更新后的对象 returning: true }); // 检查实体是否被找到和更新 if (numberOfAffectedRows === 0) { return next(new EntityNotExistError("报告不存在")); } // 获取更新后的报告 const updatedReport = await ReportModel.findOne({ where: { id: reportId } }); return res.json({ message: "报告已成功编辑", report: updatedReport }); } catch (error) { return next(error); } }