MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Персонализирани съобщения за грешки с Mongoose

Уникалният параметър не се поддържа ли за персонализирани съобщения?

Уникалността в Mongoose не е параметър за валидиране (като required ); той казва на Mongoose да създаде уникален индекс в MongoDB за това поле.

Ограничението за уникалност се обработва изцяло в сървъра MongoDB. Когато добавите документ с дублиран ключ, сървърът на MongoDB ще върне грешката, която показвате (E11000... ).

Трябва сами да се справите с тези грешки, ако искате да създавате персонализирани съобщения за грешки. Документацията на Mongoose („Мидълуер за обработка на грешки“ ) ви предоставя пример за това как да създадете персонализирана обработка на грешки:

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

(въпреки че това не ви предоставя конкретното поле, за което ограничението за уникалност е неуспешно)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# драйвер - Игнорирайте полетата при обвързване

  2. Mongo DB отношения между обекти

  3. Разгръщане и поддръжка на MongoDB с помощта на Ansible

  4. Node.js – Създаване на връзки с Mongoose

  5. Как мога да запиша няколко документа едновременно в Mongoose/Node.js?