В этом коде есть несколько ошибок:
Неправильный захват данных:
Вы отправляете {_id:id, update: {title: updated}
Что означает в req.body
там будет две клавиши _id
и updated
. На вашем маршруте это должно быть (ссылка Doc
):
app.post("/api/todos/:id", (req, res) => {
const { _id, updated } = req.params;
Todo.update({ _id }, updated )
.then(()=>res.json({ updated: true }))
.catch(err => {
if (err) throw err;
});
});
Неправильный обратный вызов:
.then(res.json({ updated: true }))
Это неправильно, потому что then
ожидает указатель на функцию.function(){}
В вашем случае вызывается res.json({ updated: true })()
, потому что он думает, что res.json({ updated: true })
- это функция.
Измените его на:
.then(()=>res.json({ updated: true }))