我的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是唯一的,除非它们是空对象。在此先感谢。