gpt4 book ai didi

mongodb - Mongoose findAndUpdate() 验证器为 null

转载 作者:可可西里 更新时间:2023-11-01 09:49:50 26 4
gpt4 key购买 nike

我正在尝试在更新之前对我的架构运行验证,这是它的代码。

架构

var workSchema = mongoose.Schema({
location: {
type: String,
required: true,
enum: LOCATIONS
},
flags: {
isHourly: {
type: Boolean,
default: false,
validate: [workValidators, 'Message']
}
}
});


function workValidators(flag) {
if (flag) {
/* WHY IS .this NUll? */
assert(this.location, 'Must have location specified');
}}



workSchema.findByIdAndUpdate(id, {
$set: info
}, {
runValidators: true,
new: true
}).then((updatedModel) => {
return updatedModel.toObject();
});
};

最佳答案

这是因为验证函数中的 THIS 具有不同的 THIS 上下文。这个想法只是针对正在传递的参数提供简单的验证。如果您想要更复杂的东西,请尝试使用 Mongoose 钩子(Hook)。

关于mongodb - Mongoose findAndUpdate() 验证器为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38019337/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com