node.js - 取回单个用户 Node.JS
问题描述
我打电话给我的后端,我试图通过他生成的 ID 找到一个用户。
这是我试图运行的代码,但它没有带回任何东西......我错过了什么?
// @route GET api/users/:user_id
// @desc Get User by user ID
// @access Public
router.get('/users/:user_id', async (req, res) => {
try {
const user = await User.findOne({
users: req.users._id,
}).populate('user');
if (!user) return res.status(400).json({ msg: 'User not found' });
return res.json(user);
} catch (err) {
console.error(err.message);
return res.status(500).json({ msg: 'Server error' });
}
});
解决方案
问题是我的路线和我的用户。经过一番挖掘,我找到了通过 ID 获取单个用户的正确方法
router.get('/:user_id', async (req, res) => {
const userID = req.params.user_id;
try {
const user = await User.findById(userID).exec();
res.json(user);
} catch (error) {
console.error(error.message);
res.status(500).send('Server Error');
}
});
推荐阅读
- excel - 无法正确关闭 Excel 应用程序
- node.js - npm run devs 在全新安装时失败
- android - Android 实时数据室。使用哪种方法
- linux - Linux 中汇编程序可用的内存
- angular - 在 Angular 中对组件进行单元测试时检查局部变量会出错
- reactjs - 反应本机博览会 - 无法获取本地主机
- github - 是否有一个 config.yml 模式只会将 PR 构建为 master,而不会在合并后再次构建 master?
- php - 显示上周最受欢迎的帖子
- yii2 - Yii2 rbac 分配角色和权限
- android - 滚动视图内的Android约束布局高度无效