Хобрук: Ваш путь к мастерству в программировании

Как преобразовать ошибки схемы мангуста

Я хотел бы преобразовать все ошибки схемы мангуста.

Скажем, у меня есть UserSchema:

const UserSchema = new mongoose.Schema({
  email: {
     type: String,
     unique: true,
     required: [true, 'E-Mail is required']
  },
  password: {
     type: String,
     required: [true, 'Password is required']
  }
}

Если бы я попытался сохранить пользователя без электронной почты и пароля, я бы получил следующий ответ:

{
  "errors": {
    "password": {
      "message": "Password is required",
      "name": "ValidatorError",
      "properties": {
        "type": "required",
        "message": "Password is required",
        "path": "password"
      },
      "kind": "required",
      "path": "password"
    },
    "email": {
     // ...
    }
  },
  "_message": "User validation failed",
  "name": "ValidationError"
}

Я хотел бы преобразовать этот ответ об ошибке глобально для всех моих схем, например, в

{
  errors: [
      { message: "Password is required", path: "password" }
      // ...
  ]
}

Есть ли способ применить метод преобразования глобально ко всем ошибкам схемы? (Я хотел бы избежать преобразования каждого ответа вручную)

26.05.2017

Ответы:


1
  • Это не решает проблему глобально. Хотелось бы иметь что-то вроде перехватчика, способного трансформировать все ошибки в одном месте. 27.05.2017
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..