Czy unikalny parametr nie jest obsługiwany w przypadku wiadomości niestandardowych?
Unikalność w Mongoose nie jest parametrem walidacji (jak required
); mówi Mongoose, aby utworzył unikalny indeks w MongoDB dla tego pola.
Ograniczenie unikatowości jest obsługiwane w całości przez serwer MongoDB. Gdy dodasz dokument ze zduplikowanym kluczem, serwer MongoDB zwróci wyświetlany błąd (E11000...
).
Musisz sam poradzić sobie z tymi błędami, jeśli chcesz tworzyć niestandardowe komunikaty o błędach. Dokumentacja Mongoose („Oprogramowanie pośredniczące do obsługi błędów” ) zawiera przykład tworzenia niestandardowej obsługi błędów:
emailVerificationTokenSchema.post('save', function(error, doc, next) {
if (error.name === 'MongoError' && error.code === 11000) {
next(new Error('email must be unique'));
} else {
next(error);
}
});
(chociaż nie zapewnia to konkretnego pola, dla którego zawiodło ograniczenie unikalności)