findByIdAndRemove получение статуса 404 - PullRequest
1 голос
/ 10 июня 2019

Я пытаюсь удалить запись, используя _id, однако получаю статус 404 от почтальона. Где здесь что-то пошло не так?

router.delete('/sale/delete/:id', function(req, res) {

    Sale.findByIdAndRemove({
            _id: req.params.id
        },
        function(err, respRaw) {
            if (err) {
                console.log(err)
            }
            res.status(204).json(respRaw)
        })
});

enter image description here

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Добавить в качестве дополнения к ответу автора:

findByIdAndRemove() перепутали с findOneAndRemove(), а именно с его параметрами.


findByIdAndRemove () :

Параметры

  • id «Object | Number | String» значение _id для запроса по
  • [опции] «Объект» необязательно
  • [options.strict] «Boolean | String» перезаписывает параметр строгого режима схемы
  • [обратный вызов] «Функция»

Возвращает:

  • «Запрос»

Введите команду mongodb findAndModify remove с помощью поля _id документа.

findByIdAndRemove(id, ...) эквивалентно findOneAndRemove({ _id: id }, ...).

Находит соответствующий документ, удаляет его, передавая найденный документ (если есть) обратному вызову.

Выполняет запрос, если обратный вызов пройден.


findOneAndRemove () :

Параметры

  • условия «Объект»
  • [опции] «Объект» необязательно
  • [options.strict] «Boolean | String» перезаписывает параметр строгого режима схемы
  • [обратный вызов] «Функция»

Возвращает:

  • «Запрос»

Введите команду mongodb findAndModify remove.

Находит соответствующий документ, удаляет его, передавая найденный документ (если есть) обратному вызову.

Выполняет запрос, если обратный вызов пройден.

0 голосов
/ 11 июня 2019

Мне удалось это исправить с помощью

Sale.findByIdAndRemove(id, options, function(err, respRaw) {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...