我试图通过findOneAndUpdate
猫鼬的方法更新mongodb文档中的字段。我已经尝试过从堆栈溢出类似问题中得到几个答案。但是我仍然面临这个问题。
这是我的模型架构
const auth = {
trainerID: {
type: String,
required: true,
},
phone: {
type: String,
required: true,
},
otp: String,
isVerified: Boolean,
password: {
type: String,
required: true
}
};
我正在进行POST/PATCH
api调用以验证OTP并将isVerified
字段更新为true,默认情况下该字段设置为false
。
这是我的代码:
//Validate the otp
if (validTrainer.otp === req.body.otp ) {
console.log(`send otp: ${req.body.otp}`);
console.log(`original otp:${validTrainer.otp}`);
await TrainerAuth.findOneAndUpdate({ trainerID: req.body.trainerID }, { new: true }, { $set: { isVerified: true } }, (err, newAuth) => {
if (err) {
console.log(err);
} else {
console.log(newAuth);
res.send({
statusCode: 200,
message: `Phone number is verified.`
})
}
})
} else {
res.send({
statusCode: 401,
message: `Wrong OTP. Try again.`
})
}
现在我正在得到预期的回应
{
statusCode: 200,
message: `Phone number is verified.`
}
但是该字段没有被更新。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…