sql >> Database teknologi >  >> NoSQL >> MongoDB

Brugerdefinerede fejlmeddelelser med Mongoose

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)



  1. Mongodb Aggregation Framework:Bruger $group indeks?

  2. Hvordan $set Update Operator fungerer i MongoDB

  3. django:redis:CommandError:Du har ikke indstillet ASGI_APPLICATION, som er nødvendig for at køre serveren

  4. Selleri/Redis samme opgave udføres flere gange parallelt