在mongoDb .find()查询中使用参数

时间:2019-07-08 10:18:49

标签: node.js mongodb express http get

这可行,但是一旦我将123更改为req.params.userId,就会从GET请求中获得一个空数组。

router.get("/:userId", async (req, res) => {
  const posts = await loadPostCollection();
  console.log(req.params.userId) //>>>123
  const info = await posts
    .find({
      userInfo: {
        userId: 123, //req.params.userId doesn't work
        notes: []
      }
    })
    .toArray();
  res.send(await info);
});

edit:问题不在于如何将字符串转换为num或将num转换为字符串,而是有助于找出代码的问题。因此,不能重复。

2 个答案:

答案 0 :(得分:0)

我明白了,req.params.userId是一个字符串,而userId需要一个数字。

答案 1 :(得分:0)

是因为字符串和数字。尝试将req.params.userId转换为number,它应该可以工作!