猫鼬:如何覆盖鉴别器中的默认属性?

时间:2019-02-17 01:15:44

标签: mongoose mongoose-schema

使用猫鼬5.4.0。

我有一个File模式,该模式具有typestage属性:

let fileSchema = new Schema({
  ...
  type: {
    type: String,
    enum: ['image', 'log'],
    required: true
  },
  stage: {
    type: String,
    enum: [
      'upload',
      'corrected',
      'processed'
      ...
    ],
    required: true
  },
  ...
}, options)

const File = model('File', fileSchema)

我在File上也有一个鉴别符,我想将stage的默认值设置为processed

let imageSchema = new Schema({
  type: {
    default: 'processed'
  },
}, options)

const Image = File.discriminator('Image', imageSchema)

基于this SO question from 2016,我期望它能起作用;但是,当我运行测试套件时,出现以下错误:

TypeError: Invalid schema configuration: `Processed` is not a valid type at path `type.default`.

如果重新定义整个{type: ...}属性(不是很干),则可以使用。这可能吗?上面链接的问题的答案不正确吗?

0 个答案:

没有答案