Есть модель Категории:
const CategorySchema = new mongoose.Schema( {
/**
* Название категории
*/
title: {
type: String,
required: true,
unique: true,
validate: {
validator: v => v.length,
message: 'Название категории не должно быть пустым!',
}
},
/**
* Флаг, означающий то, что категория стандартная
*/
root: {
type: Boolean,
required: true,
default: true
},
/**
* Дата и время создания
*/
createdate: {
type: Date,
default: Date.now,
},
/**
* Дата и время последнего изменения
*/
lastupdate: {
type: Date,
default: Date.now,
},
/**
* ID автора
*/
userID: {
type: mongoose.Schema.ObjectId,
ref: 'User'
},
/**
* Описание полей и заголовков для построения формы
*/
metaInfo: {
type: mongoose.Schema.Types.Mixed,
required: true
}
} );
Как видно из схемы поле title уникальное. НО! Теперь понадобилось дать юзерам создавать свои категории. Из этого вопрос:
Как сделать так, чтобы если root==false или userID не пустой, то title позволял бы совпадения?
Не знаю как сказать ))) Надеюсь понятно объяснил.
Стандартные категории создаются при развертывании приложения с помощью скрипта 1 раз.