Как получить данные на основе переменной в стеке MEAN - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь получить все данные, которые соответствуют конкретному идентификатору пользователя.Например, у меня есть данные ниже в базе данных MongoDB

{
    "_id": "hjdhs88889dsijd8",
    "items": "xxxxxx",
    "userId": "A123"
},
{
    "_id": "hjhuf77889dsijd8",
    "items": "xxxxxx",
    "userId": "A123"
}

Я хочу GET только данные, где userId=A123.Ниже из моего внутреннего JS-файла

router.get('/customerList/:userId', (req,res) => {
    console.log('Retrieving list');
    cList.find({userId: req.body.userId}, (err, list) => {
      if(err) {
        console.log(err);
      }
      else if(list) {
        return res.json(list)
      }
    });
  });

Когда я пытаюсь get получить данные от почтальона из приведенного ниже URL

http://localhost:3000/api/customerList/A123

, я получаю пустой массив,Как мне это решить?

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018

Для доступа к именованному маршруту «параметры» используйте req.params, а не req.body

app.get('/myPath/:myParam', (req,res) => res.send(req.params.myParam))
0 голосов
/ 21 декабря 2018

Вы должны использовать req.params.userId вместо re.body.userId

0 голосов
/ 21 декабря 2018

Я думаю, что вы ищете req.params

Из документов :

app.get('/user/:id', function(req, res) {
  res.send('user ' + req.params.id);
});
...