Я пытаюсь использовать встроенный валидатор mongoose для работы с «ключами» вложенного документа
Я создал keySchema и пытаюсь использовать его как поддокумент
keys: {
required: true,
type: [keySchema]
}
Я отправляю запрос через почтальона
Но вместо того, чтобы выдавать ошибку, запись создается внутри коллекции
Ниже файл моей модели
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);