如何在mongoose中创建对象级别的索引

时间:2017-02-28 06:48:24

标签: mongodb mongoose

我的Mongoose架构定义如下。

{
    _id:{
        type:String,
        default:null
    },
    commType: {
        type: String,
        enum: ["mk", "tk"]
    },
    mkSlab:{
        minWgt:{type:Number},
        maxWgt:{type:Number},
        priority:[{type:String}]
    },
    tkSlab:{
        minDays:{type:Number},
        maxDays:{type:Number},
        priority:[{type:String}]
    }
}

当commType为mk时,tkSlab将为空。当commType为tk时,mkSlab将为空。我想确保mkslab或tkSlab在每个对象中都是唯一的。

我尝试在mkSlab和tkSlab对象中添加unique:true,但是失败了。然后我试过了。 schema.index({commType:1,mkSlab:1,tkSlab:1},{“unique”:true})。它失败了错误循环依赖。我怎样才能确保mkslab或tkslab是唯一的,除非它们是空对象。在此先感谢。

0 个答案:

没有答案