具有嵌套可选对象的Mongoose Schema

Sun*_*nov 7 mongoose mongodb node.js mongoose-schema

使用以下架构:

{
  data1: String,
  nested: {
    nestedProp1: String,
    nestedSub: [String]
  }
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,new MyModel({data1: 'something}).toObject()显示新创建的文档:

{
  '_id' : 'xxxxx',
  'data1': 'something',
  'nested': {
    'nestedSub': []
  }
}
Run Code Online (Sandbox Code Playgroud)

即使用空数组创建嵌套文档.

如何使"嵌套"完全可选 - 即如果未在输入数据上提供,则根本不创建?

不想为"嵌套" 使用单独的模式,不需要那种复杂性.

Sun*_*nov 16

以下架构满足我的原始要求:

{
  data1: String,
  nested: {
    type: {
       nestedProp1: String,
       nestedSub: [String]
    },
    required: false
  }
}
Run Code Online (Sandbox Code Playgroud)

有了这个,如果没有指定一个子文档,则会创建带有"missing"子文档的新文档.