Mongoose - findByIdAndUpdate-user not found error

问题描述 投票:0回答:0

我正在使用 findByIdAndUpdate 更新数据库中的用户信息:

exports.updateUser = (req, res) =\> {
User.findByIdAndUpdate(
{ \_id: req.profile.\_id },
{ $set: req.body },
{ new: true, useFindAndModify: false },
(err, user) =\> {
if (err) {
return res.status(403).json({
error: " user are not authorized to update this user",
  });
}
user.salt = undefined;
user.encry_password = undefined;
res.json(user);
 }
);
 };

使用邮递员检查更新时出现错误:

"error": " no user was found";

route 正在运行并且它已连接到数据库。

路线是:

router.put("/user/:userId", isSignedIn, isAuthenticated, updateUser);

已登录代码:

exports.isSignedIn = expressJwt({
secret: process.env.SECRET,
userProperty: "auth",
 });

是认证码:

 exports.isAuthenticated = (req, res, next) =\> {
let checker = req.profile && req.auth && req.profile.\_id == req.auth.\_id;
if (!checker) {
return res.status(403).json({
error: "access denied",
 });
}

下一个(); };

我已经检查了数据库连接、中间件和路由。

node.js express mongoose mongoose-schema postman-testcase
© www.soinside.com 2019 - 2024. All rights reserved.