Express Router CRUD API. Cannot DELETE
You've placed closing brackets of put()
in wrong place. So you're defining your delete
router inside the put()
router:
This is your code after proper indentation:
.put( function (req, res) { User.findById(req.params.user_id, function (err, user) { if (err) res.send(err); if (req.body.name) user.name = req.body.name; if (req.body.username) user.username = req.body.username; if (req.body.password) user.password = req.body.password; user.save( function (err){ if (err) send (err); res.json({message: 'User updated'}); }); }) .delete( function (req, res) { // <===== defined inside 'put', User.remove({ _id: req.params.user_id }, function (err, user) { if (err) return res.send(err); res.json({ message: 'Deleted' }); }); });})
So, just move the delete
router outside of put
router callback