MongoDB .pu sh возвращает null - PullRequest
0 голосов
/ 09 мая 2020

Вот репозиторий GitHub, над которым я сейчас работаю: https://github.com/Stick-z/first-media-app

Я пытаюсь создать веб-сайт и в настоящее время разрабатываю свой бэкэнд. Я настраиваю массив шуток в разделе моей категории, используя joke.push; Однако всякий раз, когда я пытаюсь сделать POST-запрос, чтобы добавить новую шутку, он возвращает null (в консоли), и мой запрос никогда не завершается (с использованием Insomnia).

1 Ответ

0 голосов
/ 09 мая 2020

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

router.post("/:id/joke/new", (req, res) => {
  const newJoke = new Joke({
    user: req.body.user,
    text: req.body.text,
  });
  console.log(newJoke);
  console.log(Category.findById(req.params.id));
});

Очевидно, что нет никакого добавления-to-db logi c, поэтому с моим mon goose -fu я бы немного изменил некоторые вещи. Также я не вижу в этом методе никаких res.send или res.json. Вы можете вернуть созданный обновленный объект как json или любое уведомление об успешном / неудачном завершении.

router.post("/:id/joke/new", (req, res) => {
  const { id } = req.params;
  const { user, text } = req.body
  Category.findById(id)
    .then(doc => {
      if(doc) {
        doc.user = user;
        doc.text = text;
        doc.save().then(doc => res.json(doc))
        return;
      }

      const newJoke = new Joke({
        user,
        text,
      });

      newJoke.save().then(doc => res.json(doc))
    })
});

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

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