Javascript 带有sequelize的Nodejs在运行更新时返回错误
我在用户控制器中有此更新功能:Javascript 带有sequelize的Nodejs在运行更新时返回错误,javascript,node.js,database,api,sequelize.js,Javascript,Node.js,Database,Api,Sequelize.js,我在用户控制器中有此更新功能: async update(req, res) { const schema = Yup.object().shape({ name: Yup.string().required(), email: Yup.string().email(), oldPassword: Yup.string().min(6), password: Yup.string() .min(6) .w
async update(req, res) {
const schema = Yup.object().shape({
name: Yup.string().required(),
email: Yup.string().email(),
oldPassword: Yup.string().min(6),
password: Yup.string()
.min(6)
.when('oldPassword', (oldPassword, field) =>
oldPassword ? field.required() : field
),
confirmPassword: Yup.string().when('password', (password, field) =>
password ? field.required().oneOf([Yup.ref('password')]) : field
),
});
if (!(await schema.isValid(req.body))) {
return res.status(400).json({ error: 'Validação de entrada falhou' });
}
const { email, oldPassword } = req.body;
console.log(email);
const user = await User.findByPk(req.userId);
if (email && email !== user.email) {
const userExists = await User.findOne({ where: { email } });
if (userExists) {
return res.status(400).json({ error: 'E-mail já cadastrado' });
}
}
if (oldPassword && !(await user.checkPassword(oldPassword))) {
return res.status(401).json({ eror: 'As senhas não são iguais' });
}
const { id, name, provider } = await User.update(req.body);
return res.json({
id,
name,
email,
provider,
});
}
运行node js时,返回以下错误警告,指出我缺少参数:
(node:2608) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: Missing where attribute in the options parameter
at Function._optionsMustContainWhere (D:\Estudos\Rocketseat\BootCamp\Módulo 02\backend-gobarber2\node_modules\sequelize\lib\model.js:3427:5)
at Function.update (D:\Estudos\Rocketseat\BootCamp\Módulo 02\backend-gobarber2\node_modules\sequelize\lib\model.js:3053:10)
at update (D:\Estudos\Rocketseat\BootCamp\Módulo 02\backend-gobarber2\src\app\controllers\UserController.js:95:57)
有人能告诉我我做错了什么吗
- bcryptjs:2.4.3
- 快递:4.17.1
- jsonwebtoken:8.5.1
- 穆特:1.4.2
- pg:7.17.0
- pg hstore:2.3.3
- 续集:5.21.3
- 是的:0.28.0
const { id, name, provider } = await User.update(req.body);
像这样,
const { id, name, provider } = await User.update(req.body, {
where: {? : ?}
});