我想通过JWT代币找到论坛。。所以如果一个用户做了3个论坛,我想列出他们。
我的请求是这样显示的:
###
http://localhost:8080/forum/getByOwnerID
Authorization: Bearer {{adminToken}}
或者这样:
###
http://localhost:8080/forum/getByOwnerID
Authorization: Bearer {{userToken}}
在这两个论坛上,我都想找到他们创建的论坛。。
我创建了一个这样的函数:
exports.getByToken = async (req, res, next) => {
const forum = await Forum.findById(req.token._id);
if (forum) {
res.json(forum);
} else {
res.status(404).json({ message: "Forum not found" });
}
res.json(forum);
}
但结果是找不到论坛:/
我的论坛模型.js:
const forumSchema = ({
forumName: {
type: String,
required: true,
},
forumDescription: {
type: String,
required: true,
},
user: {
type: Schema.Types.ObjectId,
ref: "User"
},
published_on: {
type: String,
default: moment().format("LLL")
},
});
如果你在令牌中传递了这些东西,下面是你应该怎么做。
const { forum:{ _id }} = req.user
All in要找到当前用户,你应该做这样的
const currentUser = req.user;
我假设您正在处理的端点受到jwt身份验证的保护。