Stöds inte unik parameter för anpassade meddelanden?
Unikhet i Mongoose är inte en valideringsparameter (som required
). ); den säger åt Mongoose att skapa ett unikt index i MongoDB för det fältet.
Unikitetsbegränsningen hanteras helt och hållet i MongoDB-servern. När du lägger till ett dokument med en dubblettnyckel kommer MongoDB-servern att returnera felet som du visar (E11000...
).
Du måste hantera dessa fel själv om du vill skapa anpassade felmeddelanden. Mongoose-dokumentationen ("Felhantering mellanprogram" ) ger dig ett exempel på hur du skapar anpassad felhantering:
emailVerificationTokenSchema.post('save', function(error, doc, next) {
if (error.name === 'MongoError' && error.code === 11000) {
next(new Error('email must be unique'));
} else {
next(error);
}
});
(även om detta inte ger dig det specifika fältet för vilket unikhetsbegränsningen misslyckades)