У меня есть человек с указанием имени, дня рождения и профиля c. Текстовое поле легко удалить или отредактировать, но если я хочу удалить profilpi c, оно не работает (редактирование работает). Я попытался изменить на post = await Post.remove({_id: "profilpic"})
, чтобы он выбрал мне столбец в БД и удалил его или заменил на ноль. Итак, мои маршруты. js
// Delete picture
router.delete('/:id', async (req, res) => {
let post;
try {
post = await Post.findByIdAndRemove()
await post.profilpicture.remove();
res.redirect(`/admin`);
} catch {
if (post == null) {
res.redirect('/admin')
}
else {
res.redirect('/admin')
}
}
})
// Edit complete Profil
router.get('/:id/edit', async (req, res) => {
try {
const findPost = await Post.findById(req.params.id)
res.render('admin/edit', {
layout: 'layouts/admin',
post: findPost
})
} catch {
res.redirect('/admin')
}
})
// Update artist text
router.put('/:id', async (req, res) => {
let post;
try {
post = await Post.findById(req.params.id);
post.surname = req.body.surname,
post.name = req.body.name,
post.bio = req.body.bio
// check if cover is set and override (not delete!)
if (req.body.profilpicture != null && req.body.profilpicture !== '') {
saveProfilpic(post, req.body.profilpicture)
}
await post.save();
res.redirect('/admin');
} catch {
if (post != null) {
res.send('/admin')
renderEditPage(res, post, true)
}
else {
res.render('admin/edit', {
layout: 'layouts/admin',
post: post,
})
}
}
})
e js file
<form action="/admin/<%= post.id %>?_method=PUT" method="POST">
<div class="form-group picture-container">
<label for="profilpicture">Profilbild</label>
<input type="file" class="filepond" name="profilpicture">
<form method="POST" action="/admin/delete/<%= post.id %>?_method=DELETE" class="float-left">
<button type="submit" class="btn btn-outline-danger btn-sm m-1">Löschen</button>
</form>
</div>
</form>
Я должен зафиксировать тег формы внутри тега формы, в противном случае я не могу ничего редактировать и никаких изменений не происходит. отправлено в БД. Что лучше: передать удовольствие от удаления c в другой файл?