【发布时间】:2022-09-23 12:16:08
【问题描述】:
我试图从我的数据库中获取用户数据,但我得到的是 req.body 未定义,我无法解决问题,我需要帮助。
错误:TypeError:无法读取未定义的属性(正在读取 \'_id\')
我的代码:
用户.js
const express = require(\"express\");
const router = express.Router();
const { requireSignin, authMiddleware } = require(\"../controllers/auth\");
const { read } = require(\"../controllers/user\");
router.get(\"/profile\", requireSignin, authMiddleware, read);
module.exports = router;
Auth.js
exports.authMiddleware = (req, res, next) => {
const authUserId = req.user._id;
console.log(authUserId);
User.findById({ _id: authUserId }).exec((err, user) => {
if (err || !user) {
return res.status(400).json({
error: \"User not found\",
});
}
req.profile = user;
next();
});
};
exports.requireSignin = expressjwt({
secret: process.env.JWT_SECRET,
algorithms: [\"HS256\"],
});
-
所以
req.user是未定义的。我们无法预测原因。 -
我该如何解决这个问题?
-
至少告诉我们
req.user应该来自哪里。 -
@IshtiaqMahmood,您添加了正文解析器?你能显示你集成中间件的代码吗