В узле JS я пытаюсь обновить данные в базе данных
Но я не хочу отправлять какой-либо идентификатор в параметре, вместо этого я могу взять токен, тогда я обновлю
это мой код обновления в контроллере
router.put('/', VerifyToken, function (req, res) {
var token = req.headers['x-access-token'];
decoded = jwt.verify(token, config.secret);
User.findById(decoded.id, { password: 0 }, function (err, user) {
if (err) return res.status(500).send("There was a problem finding the user.");
if (!user) return res.status(404).send("No user found.");
var curtime = dateFormat(now, "HH:MM:ss"),
curstatus = 'Test';
const reportData = new Report({
username: user.username,
time: curtime,
status: curstatus
});
Report.findByIdAndUpdate({ username : user.username},reportData)
.then(report => {
if (!report) {
return res.status(404).send({
message: "Report not found with Username " + user.username
});
}
res.send(report);
}).catch(err => {
if (err.kind === 'ObjectId') {
return res.status(404).send({
message: "Report not found with Username " + user.username
});
}
return res.status(500).send({
message: "Error updating report with Username " + user.username
});
});
});
});
это всегда возвращает это единственное сообщение: «Отчет не найден с именем пользователя» + user.username