Не удалось обновить отдельные данные в mongodb - PullRequest
1 голос
/ 19 мая 2019

Я пытаюсь обновить отдельные данные, используя идентификатор в качестве параметров, но когда я отправляю данные в виде объекта JSON, он возвращает ноль, когда я консоль регистрирую переданный объект JSON.

Это то, что ясделано для обновления данных.

// Update By Id
router.put('/:id', (req, res) => {
    if (!ObjectId.isValid(req.params.id)) {
        return res.status(400).send(`No records with given id : ${req.params.id}`);
    }
    var emp = {
        name : req.body.name,
        position : req.body.position,
        office : req.body.office,
        salary : req.body.salary
    };

    Employee.findByIdAndUpdate({_id:req.params.id}, {$set : emp}, {new : true}, (err, doc) => {
        if(!err) { res.send(doc); }
        else { console.log('Error in Employee Update : ' + JSON.stringify(err, undefined, 2)); }
    });
});

Данные, которые я передал в тело запроса.

{
    "name": "Some Name",
    "position": "A Position",
    "office": "Location Name",
    "salary": 60000
}

Когда я пытаюсь передать в журнал данные, которые я передал, они возвращаются неопределенными, и все данные обновляютсяпо нулю.

console.log(emp.name);

1 Ответ

0 голосов
/ 19 мая 2019

Не знаю, как, но каким-то образом приведенный выше код работает нормально, с небольшими изменениями и перезапуском сервера.

Это то, что я изменил

Employee.findByIdAndUpdate({_id:req.params.id}, {$set : emp}, {new : true}, (err, doc)

К

Employee.findByIdAndUpdate( req.params.id , {$set : emp}, {new : true}, (err, doc) 

Благодаря Фанпарк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...