User.findOneAndUpdate не возвращает обновленный объект пользователя - PullRequest
0 голосов
/ 24 января 2020

Это моя функция контроллера updateUser. Он не возвращает обновленный объект, даже после установки {new: true} и {useFindAndModify: false} в подключении MongoDB в приложении. js. Я получаю только тот же объект, чей id Я передаю через параметры.

       updateUser: (req, res) => {
        console.log(req.params, "update user")
        User.findOneAndUpdate(req.params.id, { new: true }, (err, updatedUser) => {
            console.log(updatedUser)
            if (err) {
                return res.status(500).json({ error: "server error" })
            } else if (!updatedUser) {
                return res.status(400).json({ error: "No user found" })
            } else if (updatedUser) {
                return res.status(200).json({ user: updatedUser })
            }
        })
    }

1 Ответ

1 голос
/ 24 января 2020

Вы находите документ по идентификатору, вы используете новый набор с true, чтобы получить обновленный документ, но где вы обновляете документ. Существует объект обновления, который необходимо передать для обновления данных. Ссылка на документы: https://mongoosejs.com/docs/tutorials/findoneandupdate.html

...