#reactjs #mongodb #http #axios #http-delete
Вопрос:
Я пытаюсь использовать приложение Express MongoDB для создания реакции.
Мне удалось успешно опубликовать некоторые документы в MongoDB с помощью метода POST, но я не могу понять, как удалить все документы с помощью УДАЛЕНИЯ (я пытаюсь иметь один документ в базе данных вместо их списка).
Это мои маршруты:
router.post('/totalbalance', (request, response) => {
const totalBalance = new TotalBalanceModelTemplate({
totalBalance:request.body.totalBalance,
});
totalBalance.save()
.then(data => {
response.json(data);
})
.catch(error => {
response.json(error);
});
});
router.delete('/totalbalance', (request, response) => {
request.body.totalBalance.deleteMany({}, function(err) {
if (err) {
response.status(500).send({error: "Could not clead database..."});
} else {
response.status(200).send({message: "All info was deleted succesfully..."});
}
});
});
Это запрос axios:
axios.post('http://localhost:4000/app/totalbalance',
{
totalBalance: newTotalBalance
});
useEffect(() => {
axios.delete('http://localhost:4000/app/totalbalance')
.then(res => {
console.log('request here ', res);
})
.catch(function (error) {
console.log(error);
})
}, []);
Когда я запускаю приложение, в консоли Chrome я вижу ошибку «xhr.js:177 УДАЛИТЬ http://localhost:4000/app/totalbalance 500 (Внутренняя ошибка сервера)» (это связано с тем, что я использую useEffect (), передающий пустой массив в качестве зависимости, поэтому он запускается один раз после первоначального рендеринга компонента React).
Как следует УДАЛИТЬ? Может быть, мне следует объединить методы ПУБЛИКАЦИИ и УДАЛЕНИЯ?
Ответ №1:
Вам нужно вызвать deleteMany
функцию в модели Мангуста. request.body.totalBalance
не была бы моделью.
Похоже, вам нужен следующий .delete
маршрут.
router.delete('/totalbalance', (request, response) => {
TotalBalanceModelTemplate.deleteMany({}, function(err) {
if (err) {
response.status(500).send({error: "Could not clead database..."});
} else {
response.status(200).send({message: "All info was deleted succesfully..."});
}
});
});
Комментарии:
1. @grubbyGerbil — Потрясающе. Рад помочь. Удачи вам в вашем путешествии по кодированию!