如何从验证中的嵌套模式的字段访问猫鼬模式中的基本字段?

时间:2021-06-28 10:20:24

标签: mongodb validation mongoose-schema

我有一个这样的猫鼬模式:

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"}}
}

您有什么想法可以通过模式验证解决这个问题吗?

0 个答案:

没有答案