Пн go дБ - Express вопрос маршрута - PullRequest
0 голосов
/ 26 апреля 2020

Пожалуйста, посмотрите на этот сценарий. Я использую MongoDB и Express для бэкэнда. Express setup: я создал модель ModelOne, создал действия, чтобы получить все модели, получить только одну модель по идентификатору, обновить и удалить. Эти действия хранятся в папке «контроллеры», а затем импортируются в папку «маршруты». Это импортируется в основной сервер. js файл, и все отлично работает. Все маршруты работают.

Теперь я создал другую модель, ModelTwo, создал действия и добавил их в файл маршрутов. Тем не менее, все маршруты работают, кроме получения ModelTwo по идентификатору, чтобы получить эту указанную c модель.

Мой вопрос: как это возможно, что все маршруты работают, за исключением того, что маршрут получает спецификацию c Модель Два. Сервер выдает ошибку: «ошибка сервера». Я использую Почтальон.

Я проверял код миллион раз, и в этом нет ничего плохого. Почему бы поставить запрос работать, удалить работу, но получить запрос для одной модели не будет? Вот как эти действия выглядят:

  try {
    const singleModelTwo = await ModelTwo.findById(req.params.id);
    return res.status(200).json({
      success: true,
      count: singleModelTwo.length,
      data: singleModelTwo
    })
  } catch (err) {
    if (err.name === 'ValidationError') {

      const messages = Object.values(err.errors).map(val => val.message);

      return res.status(400).json({
        success: false,
        error: messages
      });
    }
    else {


  return res.status(500).json({
        success: false,
        error: "Server error"
      });
    }
  }
}

И что действительно странно, это работало хорошо до того, как я начал разрабатывать приложение внешнего интерфейса в React, и я заметил, что он не получает никаких данных для одной модели. Я думал, что это ошибка внешнего интерфейса, но потом я просто использовал Postman и увидел, что все маршруты для модели один работают хорошо, в то время как маршруты для модели два работают только для получения всех документов, удаляя указанный документ c и редактируя указанный c документ. Только получение указанного c документа не работает.

Я попытался очистить кеш, снова установить модули, изменить маршрут, но ничего не помогло. Кто-нибудь имеет представление о том, что происходит?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...