#javascript #node.js #mongodb #express #mongoose
#javascript #node.js #mongodb #выражать #мангуст
Вопрос:
Я пытаюсь удалить подключенную учетную запись через Express и mongoose. Когда пользователь нажимает на кнопку (подтверждение его желания удалить свою учетную запись), я хочу, чтобы его учетная запись была удалена из коллекции моего пользователя.
Мой HTML-код:
<div class="button__remove">
<button class="modal__submit modal__remove--ann" id="btn-remove">Annuler</button>
<button class="modal__submit modal__remove--conf" onclick="location.href='/fr/supprimercompte'">Supprimer</button>
</div>
Мой экспресс-код:
router.get('/supprimercompte', ensureAuthenticated, (req, res) => {
User.findOneAndDelete({user: req.user, id: req._id}, (err, tasks) => {
if (err) {
res.status(500).send(err);
res.redirect('/fr/compte')
} else {
const response = {
message: "Todo successfully deleted",
user: req.user
};
res.status(200).send(response);
}
});
})
РЕДАКТИРОВАТЬ: теперь my res.send
— это именно то, что я хочу (полный пользовательский объект), но он не удаляется из моей базы данных MongoDB! В чем же проблема ?
Ответ №1:
вы должны указать идентификатор маршрута, например, с /:id
помощью и отправить id
его со стороны клиента на маршрут
router.get('/supprimercompte/:id', (req, res) => {
User.findByIdAndDelete(req.params.id, (err) => {
if(err){
res.redirect("/fr/compte");
} else {
res.redirect("/fr");
}
});
})
для клиентской части
`/fr/supprimercompte/${id}`
Комментарии:
1. Перенаправление работает, но не удаляет объект с этим идентификатором.
2. когда вы console.log (req.params.id ) не является ли undefind?
3. Это действительно так. Связана ли проблема с тем фактом, что у меня нет запроса на удаление в моем интерфейсе?