So my mongodb looks like this:
[
{
"_id": "582bc918e3ff1bf021ae8b66",
"boardName": "Test Board",
"created_at": 1479264483957,
"__v": 0,
"person": [
{
"name": "Steve",
"wins": 1001,
"losses": 20,
"_id": "582bc918e3ff1bf021ae8b69"
},
{
"name": "Bobby",
"wins": 500,
"losses": 54,
"_id": "582bc918e3ff1bf021ae8b68"
},
{
"name": "Sarah",
"wins": 396,
"losses": 675,
"_id": "582bc918e3ff1bf021ae8b67"
}
]
}
]
I want to be able to make a delete request on:
/api/scoreBoard/person/:person_id and it should then remove the entire person element in my database.
So for example, if I make a delete on:
http://localhost:3000/api/scoreBoard/person/582bc918e3ff1bf021ae8b68 it should then delete "bobby". And the database would look like this afterwards:
[
{
"_id": "582bc918e3ff1bf021ae8b66",
"boardName": "Test Board",
"created_at": 1479264483957,
"__v": 0,
"person": [
{
"name": "Steve",
"wins": 1001,
"losses": 20,
"_id": "582bc918e3ff1bf021ae8b69"
},
{
"name": "Sarah",
"wins": 396,
"losses": 675,
"_id": "582bc918e3ff1bf021ae8b67"
}
]
}
]
But how do I delete a person inside "person"? I can't get it to work. This is my code so far, and it returns "Deleted person successfuly!" but nothing happens in the database. It doesn't delete anything.
app.delete('/api/scoreBoard/person/:person_id', function(req, res) {
mongoose.model('scoreBoard').findByIdAndRemove(req.params.person_id, function(err) {
if(!err) {
res.json('Deleted person successfuly!');
} else {
res.write('Delete failed..');
}
});
});