猫鼬验证子文档要求不起作用

时间:2018-07-05 07:25:24

标签: node.js mongodb express mongoose mongoose-schema

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

我已经创建了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);

0 个答案:

没有答案