Estoy usando React y Nodejs para crear un sitio web de notas. Los paquetes npm que estoy usando son:
Mi esquema de usuario se ve así:
{ "_id" : ObjectId("6267e8f8502e789211229a38"), "username" : "a@1.com", "notes" : [ { "date" : "26 Apr", "title" : "Lorem ipsum is placeholder text", "content" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut ", "_id" : ObjectId("6267e95a502e789211229a45") }, { "date" : "26 Apr", "title" : "Lorem ipsum is placeholder text", "content" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut ", "_id" : ObjectId("6267e96b502e789211229a54") } ], "folders" : [], "salt" : "......", "hash" : "......", "__v" : NumberInt(2) }Mi problema es que no puedo eliminar una sola nota ubicada dentro de los datos de usuario del usuario que inició sesión. Sé cómo eliminar un modelo, pero no sé cómo eliminar solo archivos específicos ubicados dentro de ese modelo.
Mi objetivo es eliminar una nota dentro de la matriz de notas.
¿Alguien puede ayudar?
Puede hacer lo siguiente, que extrae la nota usando noteId de la matriz de notas. Necesita el noteId de params o de req.body
router.delete('/:userId/notes/:noteId', async (req, res) => { try { const user = await User.updateOne( { _id: req.params.userId }, { $pull: { notes: { _id: req.params.noteId } } } res.send(user); ); } catch (err) { res.status(500).send(err); } })