Уникалният параметър не се поддържа ли за персонализирани съобщения?
Уникалността в Mongoose не е параметър за валидиране (като required
); той казва на Mongoose да създаде уникален индекс в MongoDB за това поле.
Ограничението за уникалност се обработва изцяло в сървъра MongoDB. Когато добавите документ с дублиран ключ, сървърът на MongoDB ще върне грешката, която показвате (E11000...
).
Трябва сами да се справите с тези грешки, ако искате да създавате персонализирани съобщения за грешки. Документацията на Mongoose („Мидълуер за обработка на грешки“ ) ви предоставя пример за това как да създадете персонализирана обработка на грешки:
emailVerificationTokenSchema.post('save', function(error, doc, next) {
if (error.name === 'MongoError' && error.code === 11000) {
next(new Error('email must be unique'));
} else {
next(error);
}
});
(въпреки че това не ви предоставя конкретното поле, за което ограничението за уникалност е неуспешно)