Node js如何从get请求读取参数

时间:2020-05-11 12:18:05

标签: node.js json mongodb express mongoose

我正在尝试用节点js编写一个get请求,经典的get请求以res.json的形式发送所有数据库,就像您在数据库代码imei.name中看到的那样,每次想要编写一个get方法,使其在res.json中只有一个特殊的imei.name get方法

router.get('/gettdata', (req, res, next) => {
    Post.find()
        .then((posts) => {
            res.json(posts);
            console.log(posts);
            console.log("ok" + JSON.stringify(req.body) + req.body.imei);
        })
        .catch(err => console.log(err))
});

这是我想要更改的get方法,如您所见,有数据库

{
        "_id" : ObjectId("5eb7f90fb88d8d4d94184333"),
        "imei" : {
                "name" : "bokhhjbr",
                "modele" : "5486"
        },
        "__v" : 0
}
{
        "_id" : ObjectId("5eb7fb9cb88d8d4d94184334"),
        "imei" : {
                "name" : "865566048694354",
                "modele" : "CPH1803"
        },
        "__v" : 0
}

有关更多信息,您可以添加一些评论,我需要任何帮助,谢谢

1 个答案:

答案 0 :(得分:0)

您需要传递所需的imei name作为参数,然后可以将查询修改为{ 'imei.name': req.params.imei }

在这种情况下,您无需在请求正文中控制台imei值。

您可以按照以下方式更新路由方法

router.get('/gettdata/:imei', (req, res, next) => {
  Post.find({ 'imei.name': req.params.imei })
    .then((posts) => {
      res.json(posts);
      console.log(posts);
    })
    .catch(err => console.log(err))
});