node.js - 无法使用 Sequelize update 执行更新
问题描述
所以我尝试使用employeeId 更新我的表EmployeeProjectRatings。我使用 Sequelize 执行更新操作。我收到错误 TypeError: Expecting an array or an iterable object but got [object Null]
这是我的 updatEmployeesById 处理程序:
try {
const { employeeId } = req.params;
const employeeData = {
employee: {},
employeeRatings: {},
};
employee = await models.Employee.findOne({
attributes: ["id", "firstName", "lastName"],
where: {
id: employeeId,
},
});
employeeData.employee = employee;
console.log(employeeId);
console.log(req.inputs.Communication);
const [num, rows]= await models.EmployeeProjectRating.update(
{
Communication: req.inputs.Communication,
},
{
where: {
employeeId,
},
returning: true,
}
);
console.log(num);
console.log(rows);
// const ratings= await models.EmployeeProjectRating.findOne({
// where:{
// employeeId
// }
// })
// console.log(ratings);
// employeeData.employeeRatings = employeeRatings;
return res.status(200).json({
employeeData,
});
} catch (error) {
console.log(error);
}
};
这是我在邮递员中传递的 json 对象:
{
"Communication": 1
}
这是我的模型文件:
module.exports = (Sequelize, sequelize, models) => {
const EmployeeProjectsRating = sequelize.define(
'employee_project_rating', {
PMQuality: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMOwnership: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMSkill: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMEthics: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMEfficiency: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMFreeze: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archFreeze: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
PMComment: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.STRING,
},
},
archQuality: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archOwnership: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archSkill: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archEthics: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archEfficiency: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.INTEGER,
},
},
archComment: {
type: Sequelize.BLOB,
encrypted: {
type: Sequelize.STRING,
},
},
Communication:{
type:Sequelize.INTEGER,
encrypted:{
type: Sequelize.INTEGER
},
allowNull: true
}
},
{
timestamps: true, // timestamps will now be true
},
);
models.ProjectCycle.hasMany(EmployeeProjectsRating, { as: 'employeeProjectsRatings' });
EmployeeProjectsRating.belongsTo(models.ProjectCycle, { as: 'projectCycle' });
EmployeeProjectsRating.belongsTo(models.Employee, { as: 'employee' });
EmployeeProjectsRating.belongsTo(models.Employee, { as: 'projectManager' });
EmployeeProjectsRating.belongsTo(models.Employee, { as: 'projectArchitect' });
return EmployeeProjectsRating;
};
解决方案
推荐阅读
- json - Postman 数组模式验证
- terraform - 由于 i/o 超时,Provisioner 文件失败
- microsoft-graph-api - 我可以避免在 o365 活动创建过程中向活动参与者发送电子邮件吗?
- android - 在没有用户交互和 root 权限的情况下静默更新 android 应用程序的问题
- spring-boot - 通过 Jenkins SCM 构建和运行 Docker 映像(Jenkinsfile 与代码一起推送到 repo),Jenkins 本身在 docker 中运行,使用 dockerfile
- java - 错误:无法为 com.google.gms.googleservices.GoogleServicesPlugin$GoogleServicesPluginConfig 类型的对象获取未知属性“配置”
- elasticsearch - 如何在弹性搜索中更改日期格式
- foreach - 无法通过 ForEach 按钮更新 @State 变量(Int Counter)?
- python - 我应该在哪里为 Airflow 创建一个包含我自己的 DAG 的文件夹?
- kubernetes - 如何使用带有 helm 或其他工具的参数化模板生成 OpenShift/Kubernetes 对象定义?