首页 文章

猫鼬架构与必需字段嵌套可供选择的目的

提问于
浏览
6

我想创建一个猫鼬架构,用于验证下面有以下限制对象:

  • field2是可选的(0-1关系),
    如果field2存在,则需要

  • field2.type(请注意该字段的名称为"type",作为类型定义的mongoose保留字),

  • FIELD2和基础对象必须是相同的文件内 .

代码示例

{
  field1: "data",
  field2: {
    type: "data",
    data: "data"
  }
}

提前致谢 .

2 回答

  • -1

    您可以refer to this answer

    {
      field1: "your data",
      field2:
      {
        type:
        {
          "your data"
        },
        required:false
      }
    }
    

    所以一个例子是:

    {
      field1: String,
      field2:
      {
        type:
        {
          nestedField1:{type:String,required:true},
          nestedField2:String
        },
        required:false
      }
    }
    

    如果field2存在则需要nestedField1 .

  • 3

    你可能意思是这样的:

    var Field2Schema = new mongoose.Schema({
      type: { type: String, required: true },
      data: String
    });
    
    var MainSchema = new mongoose.Schema({
      field1: String,
      field2: Field2Schema
    });
    

相关问题