2016-06-24 4 views
2

更新する前に自分のスキーマで検証を実行しようとしています。ここにコードがあります。これは、検証機能では、このコンテキスト別のを持っているので、Mongoose findAndUpdate()バリデーター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

です。この考え方は、渡されるパラメータに対して単純な検証を提供することだけです。もっと複雑なものが必要な場合は、マングースフックを試してみてください。

関連する問題