Není jedinečný parametr podporován pro vlastní zprávy?
Jedinečnost v Mongoose není ověřovacím parametrem (jako required
); říká Mongoose, aby pro toto pole vytvořil jedinečný index v MongoDB.
Omezení jedinečnosti je řešeno výhradně na serveru MongoDB. Když přidáte dokument s duplicitním klíčem, server MongoDB vrátí chybu, kterou zobrazujete (E11000...
).
Pokud chcete vytvořit vlastní chybové zprávy, musíte tyto chyby zpracovat sami. Dokumentace Mongoose ("Error Handling Middleware" ) vám poskytuje příklad, jak vytvořit vlastní zpracování chyb:
emailVerificationTokenSchema.post('save', function(error, doc, next) {
if (error.name === 'MongoError' && error.code === 11000) {
next(new Error('email must be unique'));
} else {
next(error);
}
});
(ačkoli vám to neposkytne konkrétní pole, pro které selhalo omezení jedinečnosti)