Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

221
Views
¿Cómo eliminar datos, usando Rest api en una matriz almacenada en un archivo JSON, según la solicitud http realizada por el usuario?

Tengo una tarea que requiere que elimine algunos datos en una matriz que está en un archivo JSON, usando node/express. Quiero, cuando se realiza una solicitud de eliminación, eliminar un elemento específico que coincida con una identificación específica en la matriz que está en el archivo JSON. Intenté usar el método de filtro, pero parece que no funciona.

archivo JS:

 var obj = { projects: []}; app.post('/', (req, res, next)=>{ let identifier = req.query.identify; //id of project fs.readFile('webProjects.json', (err, data)=>{ if(err) throw err; obj = JSON.parse(data); obj.projects.push({id:identifier, game: req.query.project}); let json = JSON.stringify(obj); fs.writeFile('webProjects.json', json, (err)=>{ if(err) throw err console.log("updatedd") }) }) }) /*when user sends delete request, delete specific data.*/ app.delete("/", (req, res, next)=>{ fs.readFile('webProjects.json', (err, data)=>{ console.log(data) obj = JSON.parse(data); obj.projects.filter((item)=>{ let url = req.query.identify; return item.id !== url; }) console.log(obj) let json = JSON.stringify(obj); fs.writeFile('webProjects.json', json, (err)=>{ if(err) throw err; console.log(obj) }) }) }) /*when user navigates to another page, we display the data of the resource*/ app.get('/:id', (req, res, next)=>{ fs.readFile('webProjects.json', (err, data)=>{ if (err) throw err res.send(data); }) }) /*we want to catch all errors, with the requests made to the server. used the wildcard(*) to make sure that we catch all requests made to the server. */ app.get('*', (req, res, next)=>{ let err = new Error('There was an error in accessing the page you wanted'); err.statusCode = 404; next(err); }) app.use((err, req, res, next)=>{ console.log(err.message) if(!err.statusCode) err.statusCode = 500; res.status(err.statusCode).send(err.message); }) app.listen(8080, ()=>{ console.log("server has listened") })

Archivo/datos JSON:

 {"projects":[{"id":"1","game":"miniGame"},{"id":"2","game":"min"}]}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La función de filter no cambia la matriz, por lo que debe volver a asignar los elementos filtrados a la matriz.

 fs.readFile('webProjects.json', (err, data)=>{ console.log(data) obj = JSON.parse(data); // assign the filtered array back to the original array obj.projects = obj.projects.filter((item)=>{ let url = req.query.identify; return item.id !== url; }) console.log(obj) let json = JSON.stringify(obj); fs.writeFile('webProjects.json', json, (err)=>{ if(err) throw err; console.log(obj) }) })
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!