2016-06-24 4 views
2

업데이트하기 전에 내 스키마에서 유효성 검사를 실행하려고합니다. 여기에 대한 코드가 있습니다. 다음은이 유효성 검사 기능이 컨텍스트 다른이 있기 때문에Mongoose findAndUpdate() validators this null

스키마

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(); 
}); 
}; 

답변

1

이다. 이 아이디어는 전달되는 매개 변수에 대해 간단한 유효성 검사 만 제공하는 것입니다. 좀 더 복잡한 것을 원한다면 몽구스 후크로 시도하십시오.