Ошибка удаления в CRUD RESTful API (Node.js, Express, Mongodb) - PullRequest
0 голосов
/ 13 марта 2020

Я использую mon goose в этом примере. При попытке удаления мне показывается следующая ошибка
Cannot DELETE /5e69e2fde0fa464ee01dd68d

Я не могу на всю жизнь понять, что происходит не так. Я полный новичок в Node.js, MongoDB и создание RESTful API. Приведенный ниже код - это функция, которую я использую для удаления.

router.delete('/:id', getSubscriber, async (req, res) => {
    try {
      await res.subscriber.remove()
      res.json({ message: 'Deleted Subscriber' })
    } catch (err) {
      res.status(500).json({ message: err.message })
    }
  })

, а вот функция getSubscriber

async function getSubscriber(req, res, next) {
  let subscriber
  try {
    subscriber = await Subscriber.findById(req.params.id)
    if (subscriber == null) {
      return res.status(404).json({ message: 'Cannot find subscriber' })
    }
  } catch (err) {
    return res.status(500).json({ message: err.message })
  }

  res.subscriber = subscriber
  next()
}

Любая помощь приветствуется. Спасибо за ваше время.

1 Ответ

1 голос
/ 13 марта 2020
router.delete('/:id', getSubscriber, async (req, res) => {
try {

   //Here try creating an instance of your model.
   //I think your schema is named subscriber so
   const deleteSuscriber = await Suscriber.remove({_id:req.params.id});
   res.json(deleteSuscriber);

} catch (err) {
  res.status(500).json({ message: err})
}
});

Здесь express поместит переменную в req.params формы входящего запроса. Надеюсь, что это работает !!
Здесь вы можете найти документацию по созданию CRUD Rest API

...