我喜欢mongoose 带来的验证.我们正试图弄清楚是否要使用它,并忍受开销.有人知道在创建mongoose模式时是否提供对父集合的引用(在子模式中,将父对象的对象id指定为字段),这是否意味着每次try 保存文档时,它都会判断父集合是否存在引用的对象id?
我喜欢mongoose 带来的验证.我们正试图弄清楚是否要使用它,并忍受开销.有人知道在创建mongoose模式时是否提供对父集合的引用(在子模式中,将父对象的对象id指定为字段),这是否意味着每次try 保存文档时,它都会判断父集合是否存在引用的对象id?
我正在使用中间件,在验证时搜索元素:
ExampleSchema = new mongoose.Schema({
parentId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Example'
}
});
ExampleModel = mongoose.model('Example', ExampleSchema);
ExampleSchema.path('parentId').validate(function (value, respond) {
ExampleModel.findOne({_id: value}, function (err, doc) {
if (err || !doc) {
respond(false);
} else {
respond(true);
}
});
}, 'Example non existent');