Удалить объект по Id используя mongoose - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь создать API для удаления документа на mongodb с помощью mongoose.

Вот мой маршрут

router
    .route("/tasks")
    .delete('/:id', function (res, err) {
        taskSchema.findByIdAndRemove(req.params.id, (err, tasks) => {
            if (err) return res.status(500).send(err);
            const response = {
                message: "Todo successfully deleted",
                id: req.params.id
            };
            return res.status(200).send(response);
        });
    });

Я получаю эту ошибку

Ошибка: Route.delete () требует функцию обратного вызова, но получил [object String]

1 Ответ

0 голосов
/ 03 июня 2018

/tasks и /tasks/:id - это два разных маршрута, и вы должны обрабатывать их как таковые, если вы используете /tasks для отображения всех задач, создаете маршрут для этого и создаете второй маршрут для каждого взаимодействия, которое у вас уже естьиметь идентификатор для;так называемое удаление, обновление и использование маршрута без идентификатора для взаимодействий, для которых у вас нет идентификатора, например для создания задач:

router
  .route("/tasks")
    .get(/* return all tasks */)
    .post(/* create a task */);

router
  .route("/tasks/:id")
    .delete(function (req, res) {
        taskSchema.findByIdAndRemove(req.params.id, (err, tasks) => {
            if (err) return res.status(500).send(err);
            const response = {
                message: "Todo successfully deleted",
                id: req.params.id
            };
            return res.status(200).send(response);
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...