Er unik parameter ikke understøttet for tilpassede meddelelser?
Unikhed i Mongoose er ikke en valideringsparameter (som required
); det fortæller Mongoose at oprette et unikt indeks i MongoDB for det felt.
Den unikke begrænsning håndteres udelukkende i MongoDB-serveren. Når du tilføjer et dokument med en dubletnøgle, returnerer MongoDB-serveren den fejl, du viser (E11000...
).
Du skal selv håndtere disse fejl, hvis du vil oprette brugerdefinerede fejlmeddelelser. Mongoose-dokumentationen ("Fejlhåndtering af Middleware" ) giver dig et eksempel på, hvordan du opretter tilpasset fejlhåndtering:
emailVerificationTokenSchema.post('save', function(error, doc, next) {
if (error.name === 'MongoError' && error.code === 11000) {
next(new Error('email must be unique'));
} else {
next(error);
}
});
(selvom dette ikke giver dig det specifikke felt, som entydighedsbegrænsningen mislykkedes for)