Mongoose.findOne возвращает тот же документ - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь получить документ mongodb по его идентификатору, используя экспресс в качестве внутреннего интерфейса.Запрос findOne & populate возвращает один и тот же документ каждый раз, когда я отправляю запрос на маршрутизацию. Я хочу вернуть данные пациентов по Id. Может кто-нибудь, пожалуйста, помогите мне с этим.Я новичок в JavaScript.

// @ route  GET api/profile/patient/:patientId
// @ desc   Get patient by patientId
// @ access Private

router.get('/:patient_id', auth, async (req, res) => {
    try {
      const patient_profile = await Patient.findOne({

        patient: req.params._id

      }).populate('patient');
      //console.log(patient);
      console.log(patient_profile);
      if (!patient_profile) return res.status(400).json({ msg: 'Patient not found' });

      res.json(patient_profile);    
    } catch (err) {
      console.error(err.message);
      if (err.kind == 'ObjectId') {
        return res.status(400).json({ msg: 'Profile not found' });
      }
      res.status(500).send('Server Error');
    }
  });

module.exports=router;

1 Ответ

0 голосов
/ 20 июня 2019

Для доступа к идентификатору параметра запроса используйте код ниже ...

req.params.patient_id

ваша ошибка была

req.params._id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...