首页 > 解决方案 > 取回单个用户 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' });
  }
});

标签: node.jsmongoose

解决方案


问题是我的路线和我的用户。经过一番挖掘,我找到了通过 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');
  }
});

推荐阅读