Вот несколько методов, которые можно использовать для проверки массива ссылок в Mongoose:
- Использование свойства
requiredв схеме: вы можете установить для свойстваrequiredзначениеtrueдля поля массива в вашем Mongoose. схема. Это гарантирует, что массив ссылок обязателен и должен содержать хотя бы один элемент.
const schema = new mongoose.Schema({
references: {
type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Reference' }],
required: true
}
});
- Использование функции
validate. Вы можете определить собственную функцию проверки, используя свойствоvalidateв схеме. Эта функция может проверить, присутствует ли массив ссылок и имеет ли он хотя бы один элемент.
const schema = new mongoose.Schema({
references: {
type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Reference' }],
validate: {
validator: function (array) {
return array && array.length > 0;
},
message: 'At least one reference is required.'
}
}
});
- Использование перехватчика предварительного сохранения. Вы можете определить перехватчик предварительного сохранения, который запускается перед сохранением документа и проверяет, присутствует ли массив ссылок и имеет ли он хотя бы один элемент. Если проверка не удалась, может быть выдана ошибка, препятствующая сохранению документа.
schema.pre('save', function (next) {
if (!this.references || this.references.length === 0) {
const error = new Error('At least one reference is required.');
return next(error);
}
next();
});
Это всего лишь несколько методов проверки массива ссылок с помощью Mongoose. Вы можете выбрать тот, который лучше всего соответствует вашим требованиям.