我有以下代码可以更新一些数据:
const update = {};
if (dateStart) {
update.dateStart = dateStart;
}
if (dateEnd) {
update.dateEnd = dateEnd;
}
await StatsBoard.updateOne(
{
id,
type,
user: req.user.id
},
update,
{ runValidators: true }
);
我需要进行一些自定义验证,所以我添加了一个预验证钩子:
StatsBoardSchema.pre('validate', function (next) {
console.log('VALIDATE');
next();
});
但是,即使我在{ runValidators: true }
中正确设置了updateOne
,我也永远不会输入预验证钩子。有解决办法吗?