sql >> Database >  >> NoSQL >> MongoDB

Aangepaste foutmeldingen met Mongoose

Wordt de unieke parameter niet ondersteund voor aangepaste berichten?

Uniciteit in Mongoose is geen validatieparameter (zoals required ); het vertelt Mongoose om een ​​unieke index in MongoDB voor dat veld te maken.

De uniciteitsbeperking wordt volledig afgehandeld in de MongoDB-server. Wanneer u een document met een duplicaatsleutel toevoegt, retourneert de MongoDB-server de fout die u laat zien (E11000... ).

U moet deze fouten zelf oplossen als u aangepaste foutmeldingen wilt maken. De Mongoose-documentatie ("Middelware voor foutafhandeling" ) geeft u een voorbeeld van hoe u aangepaste foutafhandeling kunt maken:

emailVerificationTokenSchema.post('save', function(error, doc, next) {
  if (error.name === 'MongoError' && error.code === 11000) {
    next(new Error('email must be unique'));
  } else {
    next(error);
  }
});

(hoewel dit je niet het specifieke veld geeft waarvoor de uniciteitsbeperking faalde)



  1. MongoDB niet geautoriseerd voor zoekopdracht - code 13

  2. Verbinding maken met MongoDB Atlas met behulp van Golang mgo:aanhoudend geen bereikbare server naar replicaset

  3. mongodb groepeer waarden op meerdere velden

  4. Mongoengine:ConnectionError:U heeft geen standaardverbinding gedefinieerd