MongoDb模式验证外部对象是可选的,但内部对象是必需的

时间:2017-03-10 04:14:38

标签: mongodb mongoose

我有一个MongoDb模型

optionalRoot: {
        optionalA: {
          requiredForA1: { type: String, required: true },
          requiredForA1: { type: String, required: true }
        },
        optionalB: {
          requiredForB1: { type: String, required: true },
          requiredForB1: { type: String, required: true }
        },
}

甚至可以在架构中表达这一点吗?基本上optionalAoptionalB可能存在,也可能不存在,但如果存在,则每个

应包含requiredFor*

1 个答案:

答案 0 :(得分:1)

我要做的就是打破三个集合中的架构。它会是这样的:

OptionalRoot: {
   optionalA: [optionalAId],
   optionalB: [optionalBId]
}

OptionalA: {
    requiredForA1: {type: String, required: true}
    requiredForA2: {type: Number, required: true}
}

OptionalB : {
    requiredForB1: {type: String, required: true}
    requiredForB2: {type: Date, required: true}
}

希望我的回答很有帮助。

相关问题