Incapaz de resolver esto. Mi proyecto es más o menos un sitio web con listados en los que puedes comentar, todos los comentarios se muestran a través de EJS. CRUD completo funciona, excepto cuando se trata de eliminar el comentario único. (los listados se pueden eliminar correctamente) Hay un botón de eliminación para cada comentario. Los comentarios están incrustados en el esquema. He estado probando varios métodos pero está fallando.
Mi listado y esquema de comentarios:
const commentSchema = new Schema({ content: String, },{ timestamps: true }); const gigSchema = new Schema({ title: { type: String, required: true, }, price: { type: Number, required: true, }, description: { type: String, required: true, }, comments: [commentSchema] }, { timestamps: true });mis rutas:
router.post('/:id/comments', commentsCtrl.commentsGig.create); router.delete('/:id/comments', commentsCtrl.commentsGig.destroy);He intentado
const destroy = (req, res) => { db.Gig.findById(req.params.id, (err, gigs)=>{ if (err) return res.send(err); gigs.comments[0].remove(); gigs.save(function(err){ res.redirect(`/gigs/${gigs._id}`) }) })y obtengo errores, encontré métodos de extracción... pero mi código no funciona. Recibo este error cuando intento 'eliminar' el comentario 'No se puede ELIMINAR /conciertos/'
este es mi boton de borrar por si acaso
<form class = 'secondary-content' action="/gigs/<%= gigs.comments._id %>?_method=DELETE" method="POST"> <input type="submit" value="Delete" /></form>¡Cualquier ayuda sería apreciada!