sql >> Databasteknik >  >> NoSQL >> MongoDB

Anpassade felmeddelanden med Mongoose

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)



  1. Förstå Laravel-cache:Cachefasad och Redis

  2. MongoError:Kan inte extrahera geonycklar från objekt med Type :Point

  3. Redis utgångsdatum för tangentutrymmesavisering aktiveras inte

  4. Stänger av Redis