Я использую axios.delete(`http://localhost:5001/agenda/` + item._id)
для удаления элемента в массиве. Схема выглядит так:
const eventSchema = new Schema({
_id: String,
name: String,
startDateTime: Date,
endDateTime: Date,
classes: String
});
На стороне сервера у меня есть
router.route("/:id").delete((req, res) => {
console.log(req.params);
Event.findByIdAndDelete(req.params.id)
.then(() => res.jason("Event deleted."))
.catch(err => res.status(400).json("Error: " + err));
});
После запуска этой программы в терминале появляется { id: 'aff2187e-f28a-38f8-1cb1-3cbeab97d721' }
, что является значением требуемых параметров. На веб-странице отображается Unhandled Rejection (Error): Request failed with status code 400
, и я не видел «Событие удалено». появился в консоли. Но когда я проверяю базу данных или обновляю sh страницу, она успешно удаляется.
После поиска в Интернете я пытаюсь изменить req.params.id
на Mongoose.Types.ObjectId(req.params.id)
, но это не работает, так как есть некоторые ограничение для идентификатора объекта.
Понятия не имею, почему он был удален, но в то же время он возвращает ошибку.