我有一个这样的猫鼬模式:
const schema = mongoose.schema({
freq: {
no: [{
type: String,
}]
},
used: {
res: [{
r: {
type: String,
validate: {
validator: function (v) {
return [...this.freq.map(item=>item.no), ""].includes(v)
},
message: props => `${props.value} صحیح نمی باشد!`
}
}]
}
})
在顶层架构中,在验证 'r' 子文档时,我想访问 'freq' 字段以检查子文档的 'r' 值是否存在于 'freq no' 列表中?
确实,当我将以下文档插入集合时,我想捕获错误:
{
freq:[{no:"1"},{no:"2"},{no:"3"}],
used:{res:{r:"4"}}
}
您有什么想法可以通过模式验证解决这个问题吗?