How to delete an item from JSON object in Node.js and Express

1 Answer

0 votes
// Users.js

const users = [
    {
        id: 52325,
        name: 'SpongeBob',
        age: 23
    },
    {
        id: 19473,
        name: 'Squidward Tentacles',
        age: 35
    },
    {
        id: 58237,
        name: 'Mr. Krabs',
        age: 45
    }
];

module.exports = users;
// routes/users.js

const express = require('express');
const users = require('../Users');
 
const router = express.Router();
    
router.delete('/:id', (req, res) => {
    const found = users.some(users => users.id === parseInt(req.params.id));
    if (found) {
        res.json({msg: `User ${req.params.id} deleted`, 
                  users:users.filter(user => user.id !== parseInt(req.params.id))});
    } else {
        // 400 Bad Request
        res.status(400).json({msg: `User ${req.params.id} not found`})
    }
});
 
module.exports = router;
// index.js

const express = require('express');
    
const app = express();
 
app.use(express.json());
 
app.use('/users', require('./routes/users'))
 
const PORT = process.env.PORT || 8080;
    
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
 
 
 
   
/*
run:
 
Server started on port 8080

On http://localhost:8080/users/19473
{
    "msg": "User 19473 deleted",
    "users": [
        {
            "id": 52325,
            "name": "SpongeBob",
            "age": 23
        },
        {
            "id": 58237,
            "name": "Mr. Krabs",
            "age": 45
        }
    ]
}
 
*/

 



answered Mar 20, 2020 by avibootz

Related questions

...