带有必需字段的嵌套可选对象的Mongoose模式

我想创建一个Mongoose Schema来验证下面的对象,并具有以下限制:

  • field2是可选的(0-1关系),
  • 如果field2存在,则field2.type是必需的(注意,该字段的名称是“type”作为类型定义的猫鼬保留字),
  • field2和基础对象必须位于同一个文档中。
  • 代码示例

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

    提前致谢。


    你可以参考这个答案:

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

    所以一个例子是:

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

    如果field2存在,那么nestedField1将是必需的。


    你可能意思是这样的:

    var Field2Schema = new mongoose.Schema({
      type: { type: String, required: true },
      data: String
    });
    
    var MainSchema = new mongoose.Schema({
      field1: String,
      field2: Field2Schema
    });
    
    链接地址: http://www.djcxy.com/p/60693.html

    上一篇: Mongoose Schema with nested optional object with required fields

    下一篇: Mongoose auto increment