1

我正在尝试为子文档“密钥”工作所需的内置验证器的猫鼬

我创建了 keySchema 并尝试将其用作子文档

keys: {
 required: true,
 type: [keySchema]
}

我正在通过邮递员提出请求

{
  "name": "dasas"
}

但不是抛出错误,而是在集合内创建条目

下面是我的模型文件

const mongoose = require('mongoose');
const constant = require('./base.constants');
const Schema = mongoose.Schema;

const keySchema = Schema({
  name: {
    type: String,
    maxLength: 100,
    required: [true, constant.KEY_NAME_REQUIRED_ERROR],
    validate: {
      validator: function (str) {
        return constant.NO_SPACE_REGEX.test(str);
      },
      message: constant.KEY_NAME_VALIDATION_ERROR
    }
  },
  type: {
    type: String,
    required: true,
    enum: ['input', 'dropdown']
  },
  values: {
    type: [String]
  }
});

const baseSchema = Schema({
  name: {
    type: String,
    required: [true, constant.BASE_NAME_REQUIRED_ERROR],
    unique: true,
    maxLength: 100,
    validate: {
      validator: function (str) {
        return constant.NO_SPACE_REGEX.test(str);
      },
      message: constant.BASE_NAME_VALIDATION_ERROR
    }
  },
  keys: {
    required: true,
    type: [keySchema]
  }
}, {
  timestamps: true
});


module.exports = mongoose.model('Base', baseSchema);

4

0 回答 0